用什么做多重关联?

时间:2012-11-19 10:56:53

标签: python correlation statsmodels

我正在尝试使用python来计算响应数组和一组预测变量数组之间的多重线性回归和多重相关。 我看到了计算多元线性回归的非常简单的例子,这很容易。 但是如何计算与statsmodels的多重相关?或与其他任何东西,作为替代。我想我可以使用rpy和R,但如果可能的话,我宁愿留在python中。

编辑[澄清]: 考虑如下所述的情况:http://sphweb.bumc.bu.edu/otlt/MPH-Modules/BS/BS704-EP713_MultivariableMethods/ 除了回归系数和其他回归参数之外,我还想计算预测变量的多个相关系数

1 个答案:

答案 0 :(得分:12)

你当然可以用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

这就是你要追求的吗?