ML2 - Regression

目录

0 前言
1 Linear Model
1.1 OLS(Ordinary Least Squares)
1.2 Regression Shrinkage Models
  1.2.1 Ridge
  1.2.2 LASSO
  1.2.3 Elastic Net
2 Non-linear Model
2.1 广义上为linear model的non-linear ones
2.2 Tree model
3 Model Evaluation
3.1 Metrics
3.2 Cross Validation

0 前言

Regression的目的是对一个数值变量进行预测。预测的方法有很多种,对应不同的model,可以分为Linear Model和Non-linear Model。

1 Linear Model

广义的linear model的公式如下,也就是,我们想要估计的函数f(X)是变量X们的线性组合,此处的X其实可以是X^2ln(X)等:
f(X)=\beta_{0} + \sum_{j=1}^{p}X_{j}\beta_{j}
但是由于对参数\betaestimation method的不同,linear model又可以分成好几类。

1.1 OLS(Ordinary Least Squares)

估计方法

OLS是比较常用的一种linear model。估计方法是最小化residual sum of squares(RSS)来得到参数的估计值。

\begin {align} \min_{\beta} RSS(\beta)&=\sum_{i=1}^{N}\left(y_i - f(x_i)\right)^2 \\ &=\sum_{i=1}^{N}\left(y_i - \beta_0 -\sum_{j=1}^{p}x_{ij}\beta_{j}\right)^2 \\ \end {align}

如果要使得OLS estimator是unbiased,需要满足几个假设

  1. E[f(X)|X]X的线性组合
  2. \epsilon_i是白噪声即\epsilon_i \sim N(0,\sigma^2),相互之间独立并和X独立

OLS的统计意义上的好处在于,Gauss-Markov Theorem告诉我们,他算出来的参数estimator是所有unbiased linear estimator中最好的。

几何意义

OLS存在几何直觉:要找到躺在由X向量张成的hyperplane上的\hat{y},其实就是y在这个hyperplane上的投影。一般来说,如果你想在子空间中找到某个点来表示高维空间中的某个点,我们能做到最好的就是把那个点投影到子空间中。

数据解释

  • p-value
    p-value的背后是对变量coefficient的hypothesis testing:
    H_0 : \beta_j= 0
    H_a : \beta_j \ne 0

    根据维基百科,p-value是the probability of obtaining results at least as extreme as the observed results。我们带入观测值,p-value为发生比观测值还极端的事件几率。 p-value越小,我们有更强的证据不接受原假设,即接受\beta_j \ne 0
  • confidence interval
    OLS reult table 会给出变量coefficient的95%置信区间。因为noise的存在,所以每一个变量coefficient都是有自己的standard error。
  • R squared/ adjuested R squared

    R2取值介于0和1,趋向于0表示model几乎无法解释Y的变化,趋向于1表示model能比较好地解释Y的变化。

    为了通过剔除变量个数的影响而较好地比较不同ols model,我们引入adjuested R squared,它惩罚了对不重要的解释变量地引入。其数值比R2小。
  • F-statistic
    H_0 : \beta_1=\beta_2=\dots= 0
    H_a : \exists j,\beta_j \ne 0

    F-statistic一般大于10就说明model是对Y有解释力度的。

变量选择

为了不让模型过于复杂导致over-fitting,从一堆变量中选择合适的几个变量是一个难点。

“Selecting variables in regression models is a complicated problem, and there are many conflicting views on which type of variable selection procedure is best, e.g. LRT, F-test, AIC, and BIC.”

Scott Zeger on 'how to pick the wrong model': Turn your scientific problem over to a computer that, knowing nothing about your science or your question, is very good at optimizing AIC, BIC, ...

此处等我有更多经验会继续填坑。

  1. One step by one step
    Forward stepwise selection
    Backward stepwise selection
  2. Business sence
  3. Shrinkage method

一些实操的问题

  1. Qualitative Predictors类别变量
    如果变量只有2个取值(0/1),就在data processing的时候把它转换成dummy variable。
    如果变量有n个取值,就generate n-1个dummy。
  2. Interaction term交乘项
    变量之间会互相影响,导致系数估计会偏差,所以我们必要时要引入交乘项。比如如下bmi30对expense的影响,是会因为身份不同而不同的,是smoker的人,bmi30每增加一单位,expense增加\beta_{11}+\beta_{12}
  3. Multicollinearity多重共线性
    多重共线性会导致参数的估计有偏,例如有一些变量参数不显著,所以在回归之前最好看一下correlation matrix,剔除相关系数较大的一些变量。
  4. Non-constant variance of error terms (heteroscedasticity)异方差
    异方差会导致参数的估计有偏。异方差主要出现在time series。为了解决这个问题,可以对被解释变量Y做transformation,比如取log(Y),\sqrt{ Y}来稳定Y的方差。
  5. Dependence of the error terms\epsilon残差互不独立
    残差互不独立会影响参数估计,特别是置信区间估计。在time series中,解决办法为ARIMA。在cross-section数据中,除了考虑我们是不是遗漏了什么变量之外,也可以注意experiment design。
  6. Outliers极端值
    极端值主要会影响置信区间估计。在确定没有什么重要的遗漏变量导致极端值之后,我们更应该注意这类极端值为什么发生,它背后可能会有重要的商业因素。
  7. High leverage points高杠杆点
    高杠杆点就是在“杠杆两边”,对estimated line产生重大影响的点,是X取值比较unusual的那类点。解决它,第一,可以用rubust regression;第二,在考虑到它的确不影响商业问题的基础上drop它。
    image.png

1.2 Regression Shrinkage Models

\begin{equation*}MSE = Bias^2 + Variance\end{equation*}

为什么我们需要Shrinkage Models?OLS虽然常用,但是可能会出现over-fitting的问题,针对这个问题shrinkage models通过引入penalty term来优化out-of-sample performance。Regression Shrinkage Models在牺牲了bias的时候减少了variance。同时,其中的LASSO还可以“自动”筛选出比较重要的变量,尤其适合n<p的小样本。

1.2.2 Ridge Regression

估计方法

Ridge最小化的目标方程是RSS加上一个penalty term(regularization term),用来降低\beta的值的大小从而simplify model:
\begin{equation*} \min_{\beta} \sum_{i=1}^n (y_i - \sum_{j=1}^p x_{ij}\beta_j)^2 + \lambda \sum_{j=1}^p \beta_j^2 \end{equation*}
其中\lambda是tuning parameter,可以通过cross validation寻找最优的值。注意:\beta并不完全是0(not sparse)。

直觉上来说,如果coeff被限制得越小,那么Y就会对feature的微小变动不那么敏感,也就是说model的variance会变小。

1.2.1 LASSO Regression

估计方法

Ridge的一个劣势是不能让参数完全为0,这样使得model还是有些复杂。LASSO通过把L2约束改成L1约束,可以解决这个问题。
\begin{equation*} \min_{\beta} \sum_{i=1}^n(Y_i-\sum_{j=1}^p X_{ij}\beta_j)^2 + \lambda \sum_{j=1}^p|\beta_j| \end{equation*}

实操问题

在跑ridge和LASSO之前,由于penalty term的存在,predictor的scale会很大程度上影响参数的估计值\hat{\beta},所以跑回归之前一定要standardize predictors

\lambda的选择

先选出a grid of potential values,然后对每一个value算出cross validation的error rate,最后选择error rate最小的那一个带入model。

1.2.3 Elastic Net

Elastic Net是Ridge和LASSO的合体,L1和L2 form都用上了。


2 Non-linear Model

2.1 广义上为linear model的non-linear ones

经过转化,一些含有多次项和指数项的model可以看成linear model,用OLS进行参数估计。

  • Polynomial regression
  • Log-transformation


2.2 Tree model

3 Model Evaluation

3.1 Metrics

R-Squared

• The value designates the total proportion of variance in the dependent variable explained by the independent variable.
• Between 0 and 1; the value toward 1 indicates a better model fit.
• For example, 0.97 means 97% of variability in the dependent variable can be explained by the independent variable.

Root Mean Squared Error (RMSE)

The square root of the mean of the squared errors.
• RMSE indicates how close the predicted values are to the actual values; hence a lower RMSE value signifies that the model performance is good.
• One of the key properties of RMSE is that the unit will be the same as the target variable.

Mean Absolute Error (MAE)

• The mean or average of absolute value of the errors, i.e. the predicted minus actual.

3.2 Cross Validation

    1. Splits the training dataset into k-folds without replacement, i.e. any given data point will only be part of one of the subset, where k-1 (i.e., k minus one) folds are used for the model training and one fold is used for testing.
    1. The procedure is repeated k times so that we obtain k
      models and performance estimates.
    1. Calculate the average performance of the models based on the individual folds to obtain a performance estimate that is less sensitive to the sub-partitioning of the training data compared to the holdout or single fold method.

Python code


# Build a decision tree classifier
clf = tree.DecisionTreeClassifier(random_state=2017)

# Evaluate the model using 10-fold cross-validation
train_scores = cross_val_score(clf, X_train, y_train, scoring='accuracy', cv=5)
print ("Train Fold AUC Scores: ", train_scores)
print ("Train CV AUC Score: ", train_scores.mean())
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容