0
点赞
收藏
分享

微信扫一扫

卡方值计算-python代码


#特征处理
import pandas as pd
import numpy as np
import scipy
from scipy.stats import chi2
from pandas import DataFrame,Series

# #消除向量中除以0的警告
np.seterr(divide='ignore',invalid='ignore')

def chi3(arr):
'''
计算卡方值
arr:统计表,二维numpy数组
'''
# Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常
assert(arr.ndim==2)
R_N=arr.sum(axis=1)
C_N=arr.sum(axis=0)
N=arr.sum()
# 计算期望频数
E=np.ones(arr.shape)*C_N/N
E=(E.T*R_N).T
square=(arr-E)**2/E
square[E==0]=0
v=square.sum()
return




卡方值:

例1卡方检验

根据卡方检验公式我们可以得出例1的卡方值为:

卡方 = (43 - 39.3231)平方 / 39.3231 + (28 - 31.6848)平方 / 31.6848 + (96 - 99.6769)平方 / 99.6769 + (84 - 80.3152)平方 / 80.3152 = 1.077
————————————————

举报

相关推荐

0 条评论