Python 带误差条数据的卡方检验

Python 带误差条数据的卡方检验,python,chi-squared,errorbar,Python,Chi Squared,Errorbar,假设我有两个数组,A1和A2: 假设我还有A1的错误条数据: 我想看看是否有办法确定A2中的数据是否与A1中的数据相符 考虑到数据中的误差条,有没有办法计算卡方检验、F检验和p值 到目前为止,我在Python中找不到任何考虑数据错误条的卡方函数。试试这个: # obs -- observed value # exp -- expected value def chisqr(obs, exp, error): chisqr = 0 for i in range(le

假设我有两个数组,A1和A2:

假设我还有A1的错误条数据:

我想看看是否有办法确定A2中的数据是否与A1中的数据相符

考虑到数据中的误差条,有没有办法计算卡方检验、F检验和p值

到目前为止,我在Python中找不到任何考虑数据错误条的卡方函数。

试试这个:

   # obs -- observed value
    # exp -- expected value

def chisqr(obs, exp, error):
    chisqr = 0
    for i in range(len(obs)):
        chisqr = chisqr + ((obs[i]-exp[i])**2)/(error[i]**2)
    return chisqr

A1 = [1,2,2,2,3,3,7]
A2 = [0.5,1,1.5,2,7,2,6.9]
err_bars = [0.1,0.6,0.9,0.2,0.01,0.8,0.1]
print chisqr(A1, A2, err_bars)

如果您使用的是数字数据,那么您应该使用numpy软件包来完成大部分计算。对于任何比一个小计算更快的东西来说,它几乎总是更容易阅读一个好的摘要。切换到numpy可以让您以

A1=np.数组[1,2,2,3,3,7] A2=np.数组[0.5,1,1.5,2,7,2,6.9] 错误条=np.数组[0.1,0.6,0.9,0.2,0.01,0.8,0.1] def CHISQUOBS,exp,错误: 返回np.sumobs-exp**2/错误**2 打印ChiSQA1、A2、错误条
你能详细阐述你的问题吗?也许用一个不考虑错误的案例来解决你的问题。这个问题是偏离主题的。应将其移动到交叉验证。你要问的是如何计算考虑观测误差的拟合优度或最小二乘统计。你不是在问一个特定的编程问题。我要问的是,考虑到观测数据A1中的误差条,也可以计算chisquared,这里的误差条是A1[I]-A2[I]^2/误差条[I]^2。但我在python中能找到的唯一方法是考虑到数据中没有错误条;例如scipy.stats.chisquare。但即使在这里也不考虑错误条。让我根据您提供的公式更新代码。我已经根据您提供的公式更新了代码。看看。那我怎么才能得到pvalue呢?你可以用这段代码作为起点,修改公式和函数来定义p值函数。我不知道计算p值的公式,因为我不是统计学家。我绝对建议您阅读python文档,特别是如何定义函数。祝你好运
err_bars = [0.1,0.6,0.9,0.2,0.01,0.8,0.1]
   # obs -- observed value
    # exp -- expected value

def chisqr(obs, exp, error):
    chisqr = 0
    for i in range(len(obs)):
        chisqr = chisqr + ((obs[i]-exp[i])**2)/(error[i]**2)
    return chisqr

A1 = [1,2,2,2,3,3,7]
A2 = [0.5,1,1.5,2,7,2,6.9]
err_bars = [0.1,0.6,0.9,0.2,0.01,0.8,0.1]
print chisqr(A1, A2, err_bars)