当前位置: 首页 > news >正文

ztest中ddof起什么作用

⭐️ statsmodels 中 ztest 基本使用

statsmodels 也是一个强大的统计分析库,提供了丰富的统计模型和检验功能。对于 Z 检验,statsmodels 提供了 ztest 函数。

以下是使用 statsmodels 进行 Z 检验的示例:

from statsmodels.stats.weightstats import ztest
import numpy as np# 示例数据,两列数据
data = np.array([[1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5],[2, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6]])# ztest假设检验
z_stat, p_value = ztest(data, value=3, alternative="two-sided", usevar="pooled")# 打印结果
print(f"Z-statistic: {z_stat}")
print(f"P-value: {p_value}")

运行结果如下:

Z-statistic: [-3. -1. -1.  1.  1.  1.  3.  3.  3.  3.  5.  5.]
P-value: [2.69979606e-03 3.17310508e-01 3.17310508e-01 3.17310508e-013.17310508e-01 3.17310508e-01 2.69979606e-03 2.69979606e-032.69979606e-03 2.69979606e-03 5.73303144e-07 5.73303144e-07]

在这个示例中,z_stat 是 Z 统计量,p_value 是对应的 p 值,你可以使用这些值来判断是否拒绝原假设。

更多细节参考 statsmodels 官网

⭐️ ztest中ddof起什么作用

在 statsmodels.api.stats.ztest 中,ddof 表示 Delta Degrees of Freedom ,即自由度的修正值。在 Z 检验中,ddof 参数用于调整标准差的自由度。

在统计学中,标准差的自由度是指在计算标准差时用于估计总体标准差的自由度。标准差是衡量数据分散程度的一种度量,用于描述数据集中个体值与均值的离散程度。

在样本统计中,我们通常使用样本标准差(sample standard deviation)来估计总体标准差。样本标准差的计算式如下:

在这里插入图片描述

在这里,n−ddof 表示样本标准差的自由度。这个修正是由于使用样本数据估计总体标准差时,我们失去了一个自由度。

如果我们从整个总体中取得所有可能的样本,计算每个样本的样本标准差,然后将这些样本标准差的平均值作为总体标准差,那么自由度的修正是不需要的。但在实际应用中,我们通常只能获得一个样本,因此需要使用 n−ddof 来进行自由度的修正。

在 Z 检验等统计推断中,自由度的修正是为了更好地适应样本估计总体标准差的情况,确保统计检验的准确性。

以下是一个示例,演示了如何使用 ddof 参数:

import statsmodels.api as sm
import numpy as np# 示例数据
sample_data = np.array([1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5])# 假设检验,这里假设总体均值为 3
mean_value = 3# 使用默认的 ddof(ddof=0)
z_stat_default, p_value_default = sm.stats.ztest(sample_data, value=mean_value)# 使用 ddof=1
z_stat_ddof1, p_value_ddof1 = sm.stats.ztest(sample_data, value=mean_value, ddof=1)# 打印结果
print(f"Z-statistic (Default ddof=0): {z_stat_default}, P-value: {p_value_default}")
print(f"Z-statistic (ddof=1): {z_stat_ddof1}, P-value: {p_value_ddof1}")

运行结果如下:

Z-statistic (Default ddof=0): 0.9380831519646864, P-value: 0.34820167941312596
Z-statistic (ddof=1): 0.9380831519646864, P-value: 0.34820167941312596

以上就是本文的内容。

笔者水平有限,若有不对的地方欢迎评论指正!

http://www.lryc.cn/news/291932.html

相关文章:

  • linux 主机无法联网问题
  • 2024/1/27 备战蓝桥杯 1-1
  • 支持下一代网络IpV6的串口服务器,IpV6串口485接口转网口
  • uniapp H5 实现上拉刷新 以及 下拉加载
  • 网络工程师必学知识:2、IPv4和IPv6地址划分
  • Rust - 变量
  • 【Linux】压缩脚本、报警脚本
  • 用Flask打造一个大模型智能问答WEB网站
  • 学习python第三天
  • (M)UNITY三段攻击制作
  • PHP的线程安全与非线程安全模式选哪个
  • asdf安装不同版本的nodejs和yarn和pnpm
  • Spring的事件监听机制
  • Zookeeper分布式命名服务实战
  • DEV-C++ ege.h库 绘图教程(六)
  • MySQL原理(一)架构组成之物理文件组成
  • 代码随想录算法训练营第三十七天 | 738.单调递增的数字、 968.监控二叉树
  • 【Django-ninja】django-ninja的hello world
  • ArrayList集合初始化长度是多少,初始化的时候分配内存空间吗
  • C语言数组:从入门到进阶
  • 9.回文数
  • 一分钟在SpringBoot项目中使用EMQ
  • SOME/IP 协议介绍(七)传输 CAN 和 FlexRay 帧
  • 与数组相关经典面试题
  • 数据结构与算法面试系列-02
  • CMake 完整入门教程(五)
  • pgsql中with子句和直接查询差别
  • Day 31 | 贪心算法 理论基础 、455.分发饼干 、 376. 摆动序列 、 53. 最大子序和
  • vue3使用is动态切换组件报错Vue received a Component which was made a reactive object.
  • React16源码: React中LegacyContext的源码实现