一文读懂回归样条(regression splines),附Python代码

编者按:作为数据科学新手,你接触的第一个算法是不是线性回归?当你把它用于不同的数据集时,你会发现它非常简单方便,但现实中的很多问题是非线性的,这种依赖因变量和自变量之间线性关系的做法有时行不通。这时,你尝试了多项式回归,虽然大部分时间它给出了更好的结果,但在面对高度可变的数据集时,你的模型也会频繁地过拟合。

过拟合

我们的模型总是变得太灵活,这对“看不见”的数据来说其实并不合适。你也许听说过加权最小二乘估计(weighted least-squares)、核估计(kernel smoother)、局部多项式估计(local polynomial fitting),但谈到对模型中未知函数的估计,样条估计依然占据着重要的位置。本文将通过一些线性和多项式回归的基础知识,简要介绍样条估计的一种方法——回归样条法(regression spline)以及它的Python实现。

注:本文来自印度数据科学家Gurchetan Singh,假设读者对线性回归和多项式回归有初步了解。

目录

1.了解数据

2.线性回归

3.线性回归改进:多项式回归

4.回归样条法及其实现

  • 分段阶梯函数
  • 基函数
  • 分段多项式
  • 约束和样条
  • 三次样条和自然三次样条
  • 结点的数量和位置
  • 回归样条与多项式回归的比较

5.小结

了解数据

为了理解这些概念,首先我们还是得提一下这本黄黄的、“可爱”的、砖头一样的教材:《统计学习入门》(An Introduction to Statistical Learning with Applications in R)。几天前twitter上有许多人转发了一个段子,说有人在马路边捡到了一本破烂的《统计学习入门》,边上躺着一个空的伏特加酒瓶和空烟盒,这本书的“毒性”请自行体会。

性爱、酒精以及SVM

书中提到了一个工资预测数据集,感兴趣的读者可以点击这里下载。这个数据集包含诸如身份ID、年份、年龄、性别、婚姻状况、种族、受教育程度、所在地、工作类别、健康状况、保险缴纳和工资等多种信息。为了介绍样条回归,这里我们把“年龄”作为自变量,用它来预测目标的工资情况(因变量)。

先处理数据:

# 导入模块
import pandas as pd
import numpy as np
import statsmodels.api as sm
import matplotlib.pyplot as plt
%matplotlib inline

# 读取data_set
data = pd.read_csv("Wage.csv")

data.head()

<< · Back Index ·>>

发表回复

相关推荐

【零基础语法】九大词性-介词

Weoftendoourhomeworkafterschool. 我们经常在放学后做家庭作业。(表示时间) Iusuallygotoschoolatseveninthemorning. 我通 ...

· 1分钟前

我的胸部,為何一大一小?

專註生殖科學,解析兩性秘密,歡迎關註“春路花語”微信公眾號。女性的兩邊乳房幾乎不是絕對的對稱,一般都會一側稍大,一側稍...

· 3分钟前

哈嘍!樹先生

我想可能大多數人都沒有意識到這是一部電影的名字。《哈嘍!樹先生》應該是王寶強主演過的知名度最低的電影瞭。但是從這部電...

· 4分钟前

英語詞匯:表示“致死的”、“致命的”的形容詞

英語詞匯 表示“致死的”、“致命的”的形容詞嘉中deadly 、fatal、lethal、mortal 這組形容詞都可表示“致死的”、“致命的”意思。d...

· 6分钟前

2021八省联考数学试卷及答案和分析

本次八省联考数学试卷 整体难度值与高考难度值相差不大(距离高考还有134天) 但是本次考试的题目新颖度方面有较大的提升 ...

· 7分钟前