2013-06-20 9 views
6

私はpythonを使って学生からの信頼区間を計算することに興味があります。pythonでの学生の信頼区間

私はMathematicaでStudentTCI()関数を使用して、今、私はこの機能を自分で構築する方法はかなりわかりませんが、私はそれに着手する前に、これがあるのpython http://reference.wolfram.com/mathematica/HypothesisTesting/ref/StudentTCI.html

で同じ機能をコーディングする必要があるのですPythonのどこかで機能? numpyのように? (私はnumpyを使用しておらず、アドバイザーはできるだけnumpyを使用しないことを勧めました)。

この問題を解決する最も簡単な方法は何ですか? StudentTCI()のソースコードをnumpyで(存在する場合)関数定義として自分のコードにコピーできますか?

編集:私は、可能であれば、Pythonコードを使用してStudent TCIを構築する必要があります。 scipyのインストールが終わりに変わった。私は他の誰もが持っているのと同じ問題を抱えています。セットアップするのにこの時間がかかるなら、私が配布するコードのためにScipyを要求する方法はありません。

誰でも、scipyバージョンのアルゴリズムのソースコードを確認する方法を知っていますか?私はそれをPythonの定義にリファクタリングするつもりだと思っています。

答えて

11

私はあなたがscipy.stats.tを使用することができると思いますし、それはinterval方法です:あなたが好きな場合は、独自の関数を作ることができ、

In [1]: from scipy.stats import t 
In [2]: t.interval(0.95, 10, loc=1, scale=2) # 95% confidence interval 
Out[2]: (-3.4562777039298762, 5.4562777039298762) 
In [3]: t.interval(0.99, 10, loc=1, scale=2) # 99% confidence interval 
Out[3]: (-5.338545334351676, 7.338545334351676) 

確かに。のは、それがMathematicaでのように見えるようにしましょう:

from scipy.stats import t 


def StudentTCI(loc, scale, df, alpha=0.95): 
    return t.interval(alpha, df, loc, scale) 

print StudentTCI(1, 2, 10) 
print StudentTCI(1, 2, 10, 0.99) 

結果:

(-3.4562777039298762, 5.4562777039298762) 
(-5.338545334351676, 7.338545334351676) 
+0

感謝。これは私が必要とするものです。私はscipy(win7 64x)をインストールしようとしていますが、それは直感的ではありません。私は32ビットのpythonを使用しているので、私は32ビットのscipyも望んでいると思うが、どうやってそれを得るのかは分からない。今私は仕事を終わらせるべきだと思うアナコンダというものをインストールしていますか?私はそれを取るだけでscipyをインストールする方法はありません? – SwimBikeRun

+0

アナコンダが行われ、サイフィをインストールしていません。 29行目、 からscipy.stats import t ImportError:いいえscipy.stats – SwimBikeRun

+0

@SwimBikeRunという名前のモジュールは、[Enthought Canopy](https://www.enthought.com/products/canopy/)をインストールすることをお勧めします。これは、Pythonパッケージをインストールして管理するための簡単で簡単な方法を提供します。 ScipyはExpressバージョンに含まれているため、料金を支払う必要はありません。また、[pythonxy](https://code.google.com/p/pythonxy/)にはscipyも付属していますが、実際に使ったことはありません。 – abudis