2017-06-23 4 views
0

私はPython 3.6を使ってデータセットの統計テストを行っています。私が達成しようとしているのは、で、統計的有意性を決定するためにデータセットとトレンドラインの間でt検定を実行することです。私はこれを行うためにscipyを使用していますが、必要な結果を得るためにテストにどの変数を含めるべきかわかりません。 Python:Statistics T-test

はここで、これまでに私のコードです:
import numpy as np 
import matplotlib.pyplot as plt 
from scipy import stats 

p = np.load('data.npy') 

#0=1901 
start=0 
end=100 

plt.figure() 
plt.plot(a,annualmean, '-') 
slope, intercept, r_value, p_value, std_err = stats.linregress(a,annualmean) 
plt.plot(a,intercept+slope*a, 'r') 

annualmean=[] 
for n in range(start,end): 
    annualmean.append(np.nanmean(p[n])) 

#Trendline Plots 
a=range(start,end) 
year1 = 1901 

print(stats.ttest_ind(annualmean,a)) 

今のコードが動作している、エラーメッセージなし、しかし、私は私が正しいとは思わない、信じられないほど小さなp値を取得しています。もし誰かが知っているのであれば、私はt検定に書くべき変数を知っています。それは非常に役に立つでしょう。 ありがとう!

答えて

0
について質問です

私は、統計的有意性をどのようにテストするのか混乱していることが判明しました。私はすでにライン内のデータのためのp値を考え出した:

slope, intercept, r_value, p_value, std_err = stats.linregress(a,annualmean) 

は私が行うために必要なすべてがあった。 プリント(p_valueの)

1

私はコメントする評判はありませんが、あなたのコードによれば、年平均データと0-100の配列の平均を比較するt検定を行っています。 scipy.stats.ttestは、平均を比較する2つの等しいサイズの配列をとります。

documentationによると:

scipy.stats.ttest_ind(a, b, axis=0, equal_var=True)[source] 

Parameters: 
a, b : array_like 
The arrays must have the same shape, except in the dimension corresponding to axis (the first, by default). 

追加のノート、それがトレンドラインとあなたの生データ間のt検定を行うには意味がありませんが、それはanother forum

+1

注2つのアレイを持っている必要はありませんttest_indの長さ。 docstringのexcept節を参照してください。 – user333700

関連する問題