相关疑难解决方法(0)

如何在协方差矩阵中找到退化行/列

我正在使用numpy.cov从超过400个时间序列的数据集创建协方差矩阵.使用linalg.det给我一个零值,所以矩阵是奇异的.我可以使用linalg.svd来看到等级比列数少两个,所以在协方差矩阵的某处我有一些线性组合使矩阵退化.我在底层时间序列上使用了corrcoef但没有相关性> 0.78因此不明显.有人可以建议一种方法来确定退化列的位置.谢谢.

python numpy matrix singular

9
推荐指数
1
解决办法
3308
查看次数

在python中计算逻辑回归

我试图计算逻辑回归.我把数据作为csv文件.看起来像

node_id,second_major,gender,major_index,year,dorm,high_school,student_fac
0,0,2,257,2007,111,2849,1
1,0,2,271,2005,0,51195,2
2,0,2,269,2007,0,21462,1
3,269,1,245,2008,111,2597,1
..........................
Run Code Online (Sandbox Code Playgroud)

这是我的编码.

import pandas as pd
import statsmodels.api as sm
import pylab as pl
import numpy as np

df = pd.read_csv("Reed98.csv")
print df.describe()

dummy_ranks = pd.get_dummies(df['second_major'], prefix='second_major')

cols_to_keep = ['second_major', 'dorm', 'high_school']
data = df[cols_to_keep].join(dummy_ranks.ix[:, 'year':])
train_cols = data.columns[1:]
# Index([gre, gpa, prestige_2, prestige_3, prestige_4], dtype=object)

logit = sm.Logit(data['second_major'], data[train_cols])
result = logit.fit()

print result.summary()
Run Code Online (Sandbox Code Playgroud)

当我在python中运行编码时出现错误:

Traceback (most recent call last):
File "D:\project\logisticregression.py", line 24, in <module>
result = logit.fit()
File "c:\python26\lib\site-packages\statsmodels-0.5.0-py2.6-         win32.egg\statsmodels\discrete\discrete_model.py", line …
Run Code Online (Sandbox Code Playgroud)

python numpy networkx pandas statsmodels

6
推荐指数
1
解决办法
7636
查看次数

标签 统计

numpy ×2

python ×2

matrix ×1

networkx ×1

pandas ×1

singular ×1

statsmodels ×1