8

Python を使用して、応答配列と一連の予測子配列の間の多重線形回帰と多重相関を計算しようとしています。多重線形回帰を計算する非常に単純な例を見ましたが、これは簡単です。しかし、統計モデルで多重相関を計算するにはどうすればよいでしょうか? または代替手段として、他のものと一緒に。rpy と R を使用できると思いますが、可能であれば Python にとどまりたいと思います。

編集 [明確化]: ここで説明されているような状況を考慮して: http://sphweb.bumc.bu.edu/otlt/MPH-Modules/BS/BS704-EP713_MultivariableMethods/ 予測子の多重相関係数も計算したいと思います、回帰係数およびその他の回帰パラメータに加えて

4

1 に答える 1

15

これは確かに statsmodels と pandas で行うことができます。このような何かがあなたを始めるかもしれません

import pandas
import statsmodels.api as sm
from statsmodels.formula.api import ols

data = pandas.DataFrame([["A", 4, 0, 1, 27], 
                         ["B", 7, 1, 1, 29], 
                         ["C", 6, 1, 0, 23], 
                         ["D", 2, 0, 0, 20], 
                         ["etc.", 3, 0, 1, 21]], 
                         columns=["ID", "score", "male", "age20", "BMI"])
print data.corr()

model = ols("BMI ~ score + male + age20", data=data).fit()
print model.params
print model.summary()

ドキュメントを見てください:

http://statsmodels.sourceforge.net/devel/

http://pandas.pydata.org/

編集:重相関係数という用語には詳しくありませんが、これは重回帰モデルの R 二乗の平方根にすぎないと思いますか?

print model.rsquared**.5
print model.rsquared_adj**.5

これはあなたが求めているものですか?

于 2012-11-19T14:44:57.427 に答える