天天看点

多因子探索分析

假设检验
多因子探索分析
  • 检验统计量,根据数据的均值、方差等性质,将数据转换为一个函数,构造这个函数的目的是将这个数据转换为一个已知分布容易解决的格式
  • 显著性水平一般用希腊字母a表示,0.05代表数据有95%的可能与已知分布一致。
多因子探索分析
多因子探索分析

检验统计量的选择

多因子探索分析

假设检验的更多实例和详细分析

https://www.zhihu.com/question/263428663/answer/269446279

更深入详细的了解假设检验,参考可汗学院公开课第47、48、49集

http://open.163.com/special/Khan/khstatistics.html
卡方检验
卡方检验就是统计样本的实际观测值与理论推断值之间的偏离程度,实际观测值与理论推断值之间的偏离程度就决定卡方值的大小,卡方值越大,越不符合;卡方值越小,偏差越小,越趋于符合,若两个值完全相等时,卡方值就为0,表明理论值完全符合。
多因子探索分析
多因子探索分析
方差检验
多因子探索分析
多因子探索分析
相关系数
相关关系是一种非确定性的关系,相关系数是研究变量之间 线性相关 程度的量。
多因子探索分析

皮尔逊相关系数:分子是两组数的协方差,分母是标准差的积(这里的u指数学期望)

多因子探索分析

斯皮尔曼相关系数:n指的是样本量,d指的是样本的名次差

代码实现
Scipy简介:Scipy是一个高级的科学计算库,它和Numpy联系很密切,Scipy一般都是操控Numpy数组来进行科学计算,所以可以说是基于Numpy之上了。Scipy有很多子模块可以应对不同的应用,例如插值运算,优化算法、图像处理、数学统计等。
多因子探索分析

Scipy库的简介,更多了解参考文档

正态分布检验

import numpy as np
import scipy.stats as ss

norm_dist = ss.norm.rvs(size=20)  
ss.normaltest(norm_dist)  # 不是u检验法,而是基于峰度和偏度的检验方法
>>> NormaltestResult(statistic=0.6142427179815724, pvalue=0.7355613285098694)
           

ss的正态检验的统计量为0.614,p值为0.73,如果以0.05为显著水平,明显该分布可以判断为正态分布。

ss.chi2_contingency([[15,95],[85,5]])
>>> (126.08080808080808, 2.9521414005078985e-29, 1, array([[55., 55.],
        [45., 45.]]))
# 输出结果依次为检验统计量,p值,自由度,理论分布。
# 这里测试的是本文之前提到的卡方检验的例子。
           

t检验

#独立分布t检验,用于检验均值是否有差别
ss.ttest_ind(ss.norm.rvs(size=10),ss.norm.rvs(size=20))

ss.ttest_ind(ss.norm.rvs(size=10),ss.norm.rvs(size=200))
           
多因子探索分析
ss.f_oneway([49,50,39,40,43],[28,32,30,26,34],[38,48,45,42,48])
>>> F_onewayResult(statistic=18.705009276437828, pvalue=0.00020520945856735003)
           

QQ图

from statsmodels.graphics.api import qqplot
from matplotlib import pyplot as plt
plt.show(qqplot(ss.norm.rvs(size=100)))
           
多因子探索分析

在角平分线上,证明为正态分布