概述
Cox-stuart趋势检验
a基本原理:
Cox-Stuart是一种不依赖趋势结构的快速判断趋势是否存在的方法。
该方法的理论基础是符号检验。先假设H0和Ha(共三组),然后间隔一个时间c,生成c对差值的符号,然后分别计算符号为正和符号为负的数量,最后再对三组假设进行检验统计量计算,再判断假设是否成立。
b Cox-stuart算法理论:
c方法优缺点:
优点:不依赖趋势结构,可以快速判断出趋势是否存在。
缺点:未考虑数据的时序性,仅仅只能通过符号检验来判断。
d算法入口:
目前Cox-stuart检验还没有可直接调用的函数,具体Cox-stuart模板可以根据下面所写的实例去修改.
e实例参考:
import scipy.stats as stats
def cos_staut(x):
n = len(x)
xx = x # 因为需要删除,所以复制一份
if n % 2 == 1:
del xx[n // 2]
c = n // 2
# 计算正负符号的数量
n_pos = n_neg = 0 # n_pos=S+ n_neg=S-
for i in range(c):
diff = xx[i + c] - x[i]
if diff > 0:
n_pos += 1
elif diff < 0:
n_neg += 1
else:
continue
num = n_pos + n_neg
k = min(n_pos, n_neg) # 求K值
p_value = 2 * stats.binom.cdf(k, num, 0.5) # 计算p_value
print('fall:{}, rise:{}, p-value:{}'.format(n_neg, n_pos, p_value))
# p_value<0.05,零假设不成立
if n_pos > n_neg and p_value < 0.05:
return 'increasing'
elif n_neg > n_pos and p_value < 0.05:
return 'decreasing'
else:
return 'no trend'
f参考文献:
百度文库 Cox-Stuart 趋势检验
https://wenku.baidu.com/view/cec731b981c758f5f61f6760.html
知乎 时序数据常用趋势检测方法
https://zhuanlan.zhihu.com/p/112703276
最后
以上就是美丽鱼为你收集整理的趋势检验方法(三)Cox-stuart趋势检验Cox-stuart趋势检验的全部内容,希望文章能够帮你解决趋势检验方法(三)Cox-stuart趋势检验Cox-stuart趋势检验所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复