当回归模型包含一个因变量和一个自变量时,我们称为简单线性回归。当只有一个预测变量, 但同时包含变量的幂(比如,$x$、$x^2$、$x^3$)时,我们称之为多项式回归。当有不止一个预测变量 时(比如,$x_1$、$x_2$、$x_3$)时,则称为多元线性回归。
回归分析的目的,就是试图找到一条直线(线性方程),可以最佳地拟合数据点。
一元线性回归模型只对一个自变量与因变量之间的线性关系建模,其基本形式为:
$$ y=\beta_0+\beta_1x $$
其中:
$\beta_0$ 为截距(intercept),当$x$为0时,$y$的值;
$\beta_1$是斜率(slope):$x$每增加1个单位,$y$增加b个单位
最小二乘估计(Ordinary Least Squares,OLS),常用于估计线性回归、曲线拟合的参数,其思想是让实际值与模型预测值的总偏离达到最小,从而得到最优的模型参数估计值。
$$ 一元线性模型方程:\\ y= \beta {0}+ \beta {1}x\\ 样本点x_𝑖 对应的预测值\widehat{y}{i}与真实值y_𝑖 之差,就是预测误差为:\\\varepsilon{i}=|y_{i}- \widehat{y_{i}}|,i=1, \cdots ,n\\ 绝对值不好处理,由此平方:\\\varepsilon_{i}^{2}=(y_{i}- \widehat{y}{i})^{2},i=1, \cdots ,n\\ 刻画所有预测值的误差即求和J,并将预测值\widehat{y}{i}由方程带入:\\J(\beta _{0}, \beta {1})= \sum {i=1}^{n}(y{i}- \widehat{y}{i})^{2}= \sum {i=1}^{n}\left[ y{i}-(\beta _{0}+ \beta {1}x{i})\right] ^{2}\\ 因此,当J最小时,即求得所需直线:\\ arg \min J(\beta _{0}, \beta _{1})= \sum {i=1}^{n}\left[ y{i}-(\beta _{0}+ \beta {1}x{i})\right] ^{2} $$

setwd("G:/Other R/shenyu/R working directory/data")
library(tidyverse)
data = read_csv("riverview.csv")
## 描述性统计
data %>% psych::describe()
data %>% ggplot() + geom_histogram(aes(education), bins = 10)
data %>% ggplot() + geom_histogram(aes(income), bins = 10)
data %>% ggplot() + geom_density(aes(income))
data %>% ggplot() + geom_density(aes(education))
# 谁是自变量?,谁是因变量?
data %>% ggplot(aes(education, income))+
geom_point()
## 模型的拟合
fit = lm(income ~ education, data = data)
summary(fit)
fit %>% broom::tidy()
fit$residuals