赞
踩
Lilliefors检验(也称为Kolmogorov-Smirnov-Lilliefors检验)是一种用于检验数据是否符合正态分布的统计检验方法,它是Kolmogorov-Smirnov检验的一种变体,专门用于小样本情况。与K-S检验不同,Lilliefors检验不需要假定数据的分布类型,它基于观测数据来评估是否来自正态分布。
Lilliefors检验是一种用于检验数据是否符合正态分布的非参数统计方法。它的基本原理和步骤如下:
提出假设:Lilliefors检验的原假设是数据来自正态分布(正态性假设)。备择假设是数据不来自正态分布。
数据预处理:首先,对数据进行排序,然后计算每个数据点的累积分布函数(ECDF)值。ECDF表示每个数据点在样本中的相对位置。
计算统计量:Lilliefors检验的统计量是基于ECDF的最大绝对偏差。它衡量了ECDF与标准正态分布累积分布函数之间的最大差异。统计量的计算涉及数据点与标准正态分布值的比较。
计算p值:通过比较观察到的统计量与经过模拟或查找临界值得到的分布,计算得到一个p值。p值表示观察到的最大绝对偏差在原假设下的概率。
假设检验:根据p值和显著性水平(通常是0.05),决定是否拒绝原假设。如果p值小于显著性水平,则拒绝原假设,认为数据不服从正态分布;如果p值大于显著性水平,则接受原假设,认为数据可能服从正态分布。
与Kolmogorov-Smirnov检验相比,Lilliefors检验更适用于小样本情况,因为它考虑了样本量的影响,并使用了不同的临界值来进行检验。然而,对于较大的样本,通常建议使用其他正态性检验方法,如D'Agostino-Pearson检验。
总之,Lilliefors检验是一种有用的工具,特别适用于小样本情况下的正态性检验,它不要求假定数据的分布类型,并可以提供有关数据分布是否接近正态分布的信息。
- import numpy as np
- from scipy import stats
- from statsmodels.stats.diagnostic import lilliefors
-
- # 创建示例数据
- data = np.random.normal(loc=12, scale=1.8, size=60)
-
- # 执行Lilliefors检验
- lilliefors_statistic, p_value = lilliefors(data)
-
- # 打印结果
- print("Lilliefors统计量 =", lilliefors_statistic)
- print("p值 (p) =", p_value)
-
- # 设置显著性水平
- alpha = 0.05
-
- # 根据p值进行假设检验
- if p_value < alpha:
- print("拒绝原假设:数据不服从正态分布")
- else:
- print("接受原假设:数据服从正态分布")
- import numpy as np
- from statsmodels.stats.diagnostic import lilliefors
-
- # 创建一个示例数据集,可以是非正态分布
- data_non_normal = np.random.exponential(scale=2, size=100)
-
- # 执行Lilliefors检验
- lilliefors_statistic, p_value = lilliefors(data_non_normal)
-
- # 打印结果
- print("Lilliefors统计量 =", lilliefors_statistic)
- print("p值 (p) =", p_value)
-
- # 设置显著性水平
- alpha = 0.05
-
- # 根据p值进行假设检验
- if p_value < alpha:
- print("拒绝原假设:数据不服从正态分布")
- else:
- print("接受原假设:数据服从正态分布")
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。