我正在对有些共线的数据进行岭回归.用于识别稳定拟合的方法之一是脊线跟踪,并且由于关于scikit-learn的一个很好的例子,我能够做到这一点.另一种方法是在k增加时计算每个变量的方差膨胀因子(VIF).当VIF减小到<5时,表明适合度令人满意. Statsmodels具有VIF代码,但它适用于OLS回归.我试图改变它以处理岭回归.
我正在通过示例,第5版,第10章对回归分析检查我的结果.我的代码生成k = 0.000的正确结果,但之后没有.工作SAS代码可用,但我不是SAS用户,我不知道该实现与scikit-learn(和/或statsmodels)之间的差异.
我已经坚持了几天,所以任何帮助将不胜感激.
#http://www.ats.ucla.edu/stat/sas/examples/chp/chp_ch10.htm
from __future__ import division
import numpy as np
import pandas as pd
example = pd.read_csv('by_example_import.csv')
example.dropna(inplace=True)
from sklearn import preprocessing
scaler = preprocessing.StandardScaler().fit(example)
scaler.transform(example)
X = example.drop(['year', 'import'], axis=1)
#c_matrix = X.corr()
y = example['import']
#w, v = np.linalg.eig(c_matrix)
import pylab as pl
from sklearn import linear_model
###############################################################################
# Compute paths
alphas = [0.000, 0.001, 0.003, 0.005, 0.007, 0.009, 0.010, 0.012, 0.014, 0.016, 0.018,
0.020, 0.022, 0.024, 0.026, 0.028, 0.030, …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用pandas和非matplotlib绘图.好建议在这里.这个问题关于yhat的ggplot,我遇到了两个问题.在熊猫中绘制系列很容易.
frequ.plot()
Run Code Online (Sandbox Code Playgroud)
我不知道如何在ggplot文档中执行此操作.相反,我最终创建了一个数据帧:
cheese = DataFrame({'time': frequ.index, 'count' : frequ.values})
ggplot(cheese, aes(x='time', y='count')) + geom_line()
Run Code Online (Sandbox Code Playgroud)
我希望ggplot--一个"与熊猫紧密集成"的项目 - 有一种方法来绘制一个简单的系列.
第二个问题是当x轴是一天中的时间时,我无法显示stat_smooth().似乎它可能与这篇文章有关,但我没有代表发布那里.我的代码是:
frequ = values.sampler.resample("1Min", how="count")
cheese = DataFrame({'time': frequ.index, 'count' : frequ.values})
ggplot(cheese, aes(x='time', y='count')) + geom_line() + stat_smooth()
Run Code Online (Sandbox Code Playgroud)
任何有关非matplotlib绘图的帮助将不胜感激.谢谢!(我正在使用ggplot 0.5.8)