我有一天24小时每分钟测量一次辐照度数据的文件。 因此,如果天空中没有任何云,那么数据会显示出良好的连续钟形曲线。 当我在数据中寻找没有任何云彩的一天时,我总是使用gnuplot逐月绘制并检查好的钟形曲线。
我想知道如果有一种蟒蛇方式来检查,如果辐照度测量形成一个连续的钟形曲线。 不知道问题是否过于模糊,但我只是在寻找关于该任务的一些想法:-)
答案 0 :(得分:1)
对于正态分布,有normality tests。
简而言之,我们滥用了一些正常分布的识别方法。
任何正态分布的kurtosis为3.计算数据的峰度,它应该接近3。
正态分布的skewness为零,因此您的数据偏斜应接近零
更一般地说,您可以计算参考分布并使用Bregman Divergence来评估分布之间的差异(差异)。将数据分类,创建直方图,然后从Jensen-Shannon分歧开始。
使用分歧方法,您可以与任意分布进行比较。您可以记录一千个晴天,并检查晴天和您测量的日期之间的差异是否低于某个阈值。
答案 1 :(得分:0)
仅用一个代码示例补充给定的答案:可以使用Kolmogorov-Smirnov test来获取两个分布之间“距离”的度量。 SciPy为此提供了一个简洁的界面,称为kstest
:
from scipy import stats
import numpy as np
data = np.random.normal(size=100) # Our (synthetic) dataset
D, p = stats.kstest(data, "norm") # Perform a one-sided Kolmogorov-Smirnov test
在上面的示例中,D
表示我们的data
与高斯正态(norm
)分布(越小越好)之间的距离,而p
表示对应的p值。通过将norm
替换为scipy.stats
中实现的分布,可以类似地测试其他分布。