实用latex模板
很早就学了latex,但是一直一知半解,秉持边用边学的原则,这一次做应用回归分析课的作业,用到了latex模板进行编辑,花了很多时间去学习各种功能去解决bug,比如,插入表格、插入图片、文献引用等等。以后再要用的时候应该就比较方便也比较熟悉了。最终呈现的效果长这样:https://docs.qq.com/pdf/DY2ZsWk1aRFBESkJL
使用的是texstudio进行编辑,确实是很好用。
另外,值得一提的是,python中pandas的pd.to_latex()函数极为方便,可以直接将DataFrame或者Series转化成latex代码,复制进tex文档里就能生成很漂亮的表格,下面代码中所有关于表格的代码都是用python生成的。
ps:下面的代码直接复制是运行不了的,需要相应的bib文件和一些插入其中的图片文件。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[12pt,a4paper]{article}% 文档格式
\usepackage{ctex,hyperref}% 输出汉字
\usepackage{times}% 英文使用Times New Roman
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\title{\fontsize{18pt}{27pt}\selectfont% 小四字号,1.5倍行距
% {\heiti% 黑体
% 一种\LaTeX 模板}}% 题目
\title{\fontsize{18pt}{27pt}\selectfont
{\heiti
稳健回归 \\Robust regression
}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\author{\fontsize{12pt}{18pt}\selectfont% 小四字号,1.5倍行距
{\fangsong% 仿宋
龙文梦}\thanks{hzlongwenmeng@163.com}\\% 标题栏脚注
\fontsize{10.5pt}{15.75pt}\selectfont% 五号字号,1.5倍行距
{\fangsong% 仿宋
(北京师范大学~~~统计学院)}}% 作者单位,“~”表示空格
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\date{\today}% 日期(这里避免生成日期)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{amsmath,amsfonts,amssymb}% 为公式输入创造条件的宏包
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{graphicx}% 图片插入宏包
\usepackage{subfigure}% 并排子图
\usepackage{float}% 浮动环境,用于调整图片位置
\usepackage[export]{adjustbox}% 防止过宽的图片
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{bibentry}
\usepackage{natbib}% 以上2个为参考文献宏包
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{abstract}% 两栏文档,一栏摘要及关键字宏包
\renewcommand{\abstracttextfont}{\fangsong}% 摘要内容字体为仿宋
\renewcommand{\abstractname}{\textbf{摘\quad 要}}% 更改摘要二字的样式
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{xcolor}% 字体颜色宏包
\newcommand{\red}[1]{\textcolor[rgb]{1.00,0.00,0.00}{#1}}
\newcommand{\blue}[1]{\textcolor[rgb]{0.00,0.00,1.00}{#1}}
\newcommand{\green}[1]{\textcolor[rgb]{0.00,1.00,0.00}{#1}}
\newcommand{\darkblue}[1]
{\textcolor[rgb]{0.00,0.00,0.50}{#1}}
\newcommand{\darkgreen}[1]
{\textcolor[rgb]{0.00,0.37,0.00}{#1}}
\newcommand{\darkred}[1]{\textcolor[rgb]{0.60,0.00,0.00}{#1}}
\newcommand{\brown}[1]{\textcolor[rgb]{0.50,0.30,0.00}{#1}}
\newcommand{\purple}[1]{\textcolor[rgb]{0.50,0.00,0.50}{#1}}% 为使用方便而编辑的新指令
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{url}% 超链接
\usepackage{bm}% 加粗部分公式
\usepackage{multirow}
\usepackage{booktabs}
\usepackage{epstopdf}
\usepackage{epsfig}
\usepackage{longtable}% 长表格
\usepackage{supertabular}% 跨页表格
\usepackage{algorithm}
\usepackage{algorithmic}
\usepackage{changepage}% 换页
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{enumerate}% 短编号
\usepackage{caption}% 设置标题
\captionsetup[figure]{name=\fontsize{10pt}{15pt}\selectfont Figure}% 设置图片编号头
\captionsetup[table]{name=\fontsize{10pt}{15pt}\selectfont Table}% 设置表格编号头
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{indentfirst}% 中文首行缩进
\usepackage[left=2.50cm,right=2.50cm,top=2.80cm,bottom=2.50cm]{geometry}% 页边距设置
\renewcommand{\baselinestretch}{1.5}% 定义行间距(1.5)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{fancyhdr} %设置全文页眉、页脚的格式
\pagestyle{fancy}
\hypersetup{colorlinks=true,linkcolor=black,citecolor=black}% 去除引用红框,改变颜色
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[english]{babel}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{hyperref}
\begin{document}% 以下为正文内容
\begin{sloppypar}
\maketitle% 产生标题,没有它无法显示标题
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\lhead{}% 页眉左边设为空
\chead{}% 页眉中间设为空
\rhead{}% 页眉右边设为空
\lfoot{}% 页脚左边设为空
\cfoot{\thepage}% 页脚中间显示页码
\rfoot{}% 页脚右边设为空
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{center}% 居中处理
{\textbf{摘要}}% 英文摘要
\end{center}
\begin{adjustwidth}{1.06cm}{1.06cm}
\hspace{1.5em}\fangsong 本文介绍了集中常用的稳健回归方法,进行了数值模拟,利用生成的带有异常值的随机数据,比较稳健回归方法和传统的最小二乘法回归之间的差异,并使用糖尿病数据集进行一元回归实证分析,总结不同稳健回归方法的优劣。
\end{adjustwidth}
\begin{adjustwidth}{1.06cm}{1.06cm}
\fontsize{10.5pt}{15.75pt}\selectfont{\heiti{关键词:}\fangsong{稳健回归、数值模拟}}\\
\end{adjustwidth}
\begin{abstract}
This paper introduces several commonly used robust regression methods, conducts numerical simulations, compares robust regression methods with traditional ordinary least squares (OLS) regression using generated random data containing outliers, and performs a univariate regression empirical analysis using a diabetes dataset. The paper summarizes the strengths and weaknesses of different robust regression methods.
\end{abstract}
\begin{adjustwidth}{1.06cm}{1.06cm}
\textbf{Keywords:}robust regressio、
numerical simulation
\end{adjustwidth}
\newpage% 从新的一页继续
\tableofcontents
\newpage
\section{常见稳健回归方法概述}
\subsection{M-估计}
M-估计是一种广义的估计方法,如极大似然估计就是一种常见的M-估计方法(下面所谈到的具体的算法大多也是M-估计的特例),M-估计能够提供较为鲁棒的估计结果。M-估计的核心思想是最大化(或最小化)一个目标函数,该函数通常由样本数据的似然函数和一个惩罚项组成。。\cite{yangyuanxi1991}
M-估计的核心是构建一个目标函数,该函数表示为 $Q(\theta) = \sum_{i=1}^{n} q_i(\theta)$,其中 $\theta$ 是要估计的参数,$n$ 是样本大小,$q_i(\theta)$ 是每个观测值的损失函数。
损失函数 $q_i(\theta)$ 衡量了观测值与模型预测值之间的差异。它通常是一个关于参数 $\theta$ 的函数,用于表示模型对观测值的拟合程度。常见的损失函数包括平方损失、绝对值损失、Huber损失等,具体的选择取决于问题的性质和假设。其目标是找到参数 $\theta$ 的值,使目标函数 $Q(\theta)$ 达到最小或最大值。通常需要通过最优化方法(如梯度下降、牛顿法等)来求解。
\subsection{Huber回归}
Huber回归是一种用于拟合回归模型的统计方法,对异常值具有一定的鲁棒性。Huber回归的主要特点是它同时结合了均方误差(Mean Squared Error,MSE)和绝对误差(Absolute Error)的优点。采用一种逐渐过渡的损失函数,当数据点与模型预测值之间的距离较小,即接近正常情况时,采用均方误差作为误差度量方式。当数据点与模型预测值之间的距离较大,即远离正常情况时,采用绝对误差作为误差度量方式,这使得Huber回归在数据中存在异常值的情况下能够更好地适应不同情况。
其损失函数如下
\begin{equation}
L_{\delta}(y, \hat{y}) =
\begin{cases}
\frac{1}{2}(y - \hat{y})^2, & \text{if } |y - \hat{y}| \leq \delta \\
\delta |y - \hat{y}| - \frac{1}{2}\delta^2, & \text{if } |y - \hat{y}| > \delta
\end{cases}
\end{equation}
\subsection{分位数回归}
与传统的回归分析方法不同,分位数回归允许我们对分布的不同部分进行建模,而不仅仅是均值,因此对异常值具有较强鲁棒性。它通常用于处理偏态数据、异常值或数据的分布不满足正态分布假设的情况。\cite{chending2008}
其核心是构建一个目标函数,该函数表示为 $Q_\tau(\beta) = \sum_{i=1}^{n} \rho_\tau(y_i - X_i\beta)$,其中 $\beta$ 是要估计的参数向量,$n$ 是样本大小,$y_i$ 是观测值,$X_i$ 是对应的解释变量(特征),$\rho_\tau$ 是分位数损失函数,$\tau$ 是所估计的分位数。
\subsection{Theil-Sen回归}
Theil-Sen回归的核心思想是通过计算数据中所有点对之间的斜率(即两点之间的纵向变化除以横向变化)的中位数来估计线性关系的斜率。这种方法的中位数性质使得它不受极端值的干扰。\cite{dang2008theil}
首先,对于给定的数据集,生成所有可能的点对。每个点对包括两个数据点$(x_i, y_i)$和$(x_j, y_j)$。对于每个点对,计算斜率$B_{ij}$,这个步骤会产生许多斜率值,每个斜率对应一个点对。找到所有点对的斜率$B_{ij}$的中位数,通常表示为$B$。这是Theil-Sen回归的核心估计。估计线性模型的截距$a$。再使用中位数斜率$B$与数据点的均值来估计截距,例如$a = \bar{y} - B \bar{x}$
\subsection{LTS估计}
Least Trimmed Squares(LTS)LTS旨在通过删除数据中的异常值来获得鲁棒的线性回归参数估计。其损失函数可以表示为
\begin{equation}
\underset{\theta}{\min} \underset{|S| \leq h}{\min} \sum_{i \in S} (y_i - \theta^T x_i)^2
\end{equation}
其中,$\theta$是待估计的线性回归模型的参数向量,$S$为数据点的子集,大小不超过$h$,$h$为LTS的崩溃点,LTS的目标是目标是最小化在子集$S$中的残差平方和,同时考虑到不同的子集,以防止异常值对估计的影响。实际应用中,通常使用迭代的方法来逐步选择子集$S$,并计算最小化残差平方和的参数$\theta$。\cite{rousseeuw2006computing}
\subsection{三组耐抗线}
三组耐抗线为金老师上课提到的一种拟合拟合方法,具体而言。首先将所有数据按照自变量大小排序后平均分为三组,是为左中右三组,每一组数据分别取$x_i$和$y_i$的中位数作为总括点,得到$(x_L,y_L),(x_M,y_M),(x_R,y_R)$,可以计算斜率$b_0 = \frac{y_R-y_L}{x_R-x_L}$,进而计算截距项$a_0 = ((y_L-b_0x_L)+(y_M-b_0x_M)+(y_R-b_0x_R))/3$。得到初始直线$y = b_0x+a_0$,使用该初始直线,计算每个数据点的残差$r_i^{(0)}$,使用$r_i^{(0)}$代替$y_i$重复以上的拟合过程,得到新的斜率和截距项$\delta_1$和$\gamma_1$。不断迭代,设定当$\frac{\delta_k}{b_0}<0.0001$时停止迭代,最终得到斜率和截距项为
\begin{equation}
\begin{aligned}
b &= b_o+\delta_1+\ldots+\delta_k \\
a &= a_0+\gamma_1+\ldots+\gamma_k
\end{aligned}
\end{equation}
\section{数值模拟}
\subsection{随机数据生成}
取$x_i = \frac{i}{20},i = 1,2,\ldots,100$,生成一百个等差的数据,不妨设定$\beta_0 = 0,\beta_1 = 1$,取$y_i = \beta_1x_i+\beta_0+\epsilon_i$,其中$\epsilon_i \sim \mathcal{N}(0, 1)$,得到原始的不含异常值的数据。
在此基础上,随机取两个数据点$(x_m,y_m),(x_n,y_n)$,令$\epsilon_m \sim \mathcal{N}(2,10)$,$\epsilon_n \sim \mathcal{N}(2,25)$,对因变量进行替换,得到含有异常值的数据。$\epsilon_i$实际操作中使用python中的numpy库随机生成。
并且按照同样的步骤,将$\epsilon$所服从的分布替换为拉普拉斯分布、标准柯西分布、自由度为3的T分布、自由度为15的T分布、不同参数的混合正态分布($\epsilon = 0.95\epsilon_1+0.05\epsilon_2,\epsilon_1 \sim \mathcal{N}(0,1),\epsilon_2 \sim \mathcal{N}(5,100)$的情况以及$\epsilon = 0.5\epsilon_1+0.5\epsilon_2,\epsilon_1 \sim \mathcal{N}(0,5),\epsilon_2 \sim \mathcal{N}(5,100)$的情况)。同样的,对于以上不同情况生成的随机数据,随机取两个点,使用相应方法,将因变量替换为异常值。最后,生成随机扰动项服从标准正态分布且不添加异常值的数据作为对照。
\subsection{模型拟合}
分别使用OLS回归、Huber回归、分位数回归、Theil-Sen回归、LTS估计和三组耐抗线对生成的含有异常值的随机数据进行拟合,对$\beta_1$和$\beta_0$进行估计,并将实验重复一千次。
具体而言,使用python代码进行回归操作。OLS回归使用numpy中的linalg模块进行,Huber回归使用sklearn中的HuberRegressor模块进行,Theil-Sen回归使用sklearn中的TheilSenRegressor函数进行,LTS回归使用sklearn中的RANSACRegressor模块进行近似,三组耐抗线则使用自己编写的函数,分位数回归由于需要预先设定要预测的分位数,不能参与比较,因此省略。具体代码详情请参见附录。
得到的回归结果如下
\newpage
\begin{center}
\textbf{Table 1}~~回归结果.
\begin{tabular}{llrrrr}
\toprule
& & normal & laplace & cauchy & T3 \\
\midrule
beta1\_MSE & OLS\_model & -0.008180 & 0.003576 & -1.262420 & 0.006717 \\
& Huber\_model & 0.000080 & 0.001205 & 0.001342 & -0.002048 \\
& LTS\_model & 0.017117 & 0.013588 & 0.014138 & 0.018749 \\
& TheilSen\_model & -0.000949 & 0.001988 & 0.005365 & -0.000425 \\
& trifit\_model & -0.000250 & -0.001369 & 0.000275 & -0.002786 \\
beta1\_bias & OLS\_model & 0.036547 & 0.079961 & 651.051241 & 0.052005 \\
& Huber\_model & 0.005957 & 0.005317 & 0.011590 & 0.007478 \\
& LTS\_model & 0.017022 & 0.011849 & 0.039240 & 0.020791 \\
& TheilSen\_model & 0.005129 & 0.006409 & 0.016314 & 0.007605 \\
& trifit\_model & 0.007451 & 0.006631 & 0.014300 & 0.009905 \\
beta0\_MSE & OLS\_model & 0.323601 & 0.629420 & 7283.498023 & 0.434825 \\
& Huber\_model & 0.051594 & 0.046255 & 0.100437 & 0.065622 \\
& LTS\_model & 0.150110 & 0.102163 & 0.315837 & 0.184610 \\
& TheilSen\_model & 0.046621 & 0.049788 & 0.116103 & 0.065170 \\
& trifit\_model & 0.063741 & 0.056641 & 0.120525 & 0.083286 \\
beta0\_bias & OLS\_model & 0.323601 & 0.629420 & 7283.498023 & 0.434825 \\
& Huber\_model & 0.051594 & 0.046255 & 0.100437 & 0.065622 \\
& LTS\_model & 0.150110 & 0.102163 & 0.315837 & 0.184610 \\
& TheilSen\_model & 0.046621 & 0.049788 & 0.116103 & 0.065170 \\
& trifit\_model & 0.063741 & 0.056641 & 0.120525 & 0.083286 \\
\bottomrule
\end{tabular}
\end{center}
\begin{tabular}{llrrrr}
\toprule
& & T15 & combine\_normal\_1 & combine\_normal\_2 & None \\
\midrule
beta1\_MSE & OLS\_model & -0.004887 & -0.030411 & 0.099172 & -0.000966 \\
& Huber\_model & -0.001126 & 0.018280 & 0.167352 & 0.000327 \\
& LTS\_model & 0.016422 & 0.100776 & 0.379420 & 0.013041 \\
& TheilSen\_model & -0.000540 & 0.007394 & 0.091673 & 0.000110 \\
& trifit\_model & -0.002004 & 0.019316 & 0.259938 & -0.000188 \\
beta1\_bias & OLS\_model & 0.036263 & 0.749929 & 12.417421 & 0.004519 \\
& Huber\_model & 0.007063 & 0.163926 & 16.123801 & 0.006267 \\
& LTS\_model & 0.019193 & 0.878245 & 35.149855 & 0.014529 \\
& TheilSen\_model & 0.006329 & 0.143684 & 14.201425 & 0.005307 \\
& trifit\_model & 0.009816 & 0.200097 & 20.059530 & 0.007733 \\
beta0\_MSE & OLS\_model & 0.324540 & 6.351540 & 111.683380 & 0.036751 \\
& Huber\_model & 0.061097 & 1.441073 & 138.170565 & 0.053162 \\
& LTS\_model & 0.169618 & 7.043403 & 290.702057 & 0.122290 \\
& TheilSen\_model & 0.056806 & 1.342696 & 128.635083 & 0.049171 \\
& trifit\_model & 0.080680 & 1.797863 & 165.064961 & 0.066451 \\
beta0\_bias & OLS\_model & 0.324540 & 6.351540 & 111.683380 & 0.036751 \\
& Huber\_model & 0.061097 & 1.441073 & 138.170565 & 0.053162 \\
& LTS\_model & 0.169618 & 7.043403 & 290.702057 & 0.122290 \\
& TheilSen\_model & 0.056806 & 1.342696 & 128.635083 & 0.049171 \\
& trifit\_model & 0.080680 & 1.797863 & 165.064961 & 0.066451 \\
\bottomrule
\end{tabular}
\newpage
散点图与各个直线的拟合情况如下,图片的表现不够直观,因此下文以分析表格为主。
\begin{figure}[h] % 使用figure环境来控制图片的位置,[h]表示放置在当前位置
\centering % 居中对齐
\includegraphics[width=0.9\textwidth]{a.png} % 插入图片,并指定图片宽度
\caption{正态分布下有异常值散点图及直线拟合情况} % 图片标题
\label{fig:a} % 图片标签,用于交叉引用
\end{figure}
\subsection{结果分析}
首先,对于随机扰动项服从正态分布且不添加异常值的情况而言(表格中None列),最小二乘法的表现是最优的,与理论上最小二乘法best linear unbiased estimator(BLUE)的特性相一致。但同时也可以发现,大部分的稳健方法在没有异常值的情况下也可以获得还不错的估计。
但是对于添加了异常值的情况,大部分情况下,都会发现最小二乘法的表现并不是最佳的。其他几种稳健方法不同程度地得到了比OLS更优的表现,尤其值得注意的时,在随机扰动项服从标准柯西分布时,最小二乘法的表现非常差,可能的原因是,由于柯西分布重尾的特点,生成随机数时十分容易生成极端值,该极端值甚至会远远大于我们自己所添加的异常值,导致最小二乘法估计的结果受到个别极端值控制,最终结果与实际相去甚远,而其他几种稳健方法则一如既往表现稳定。
同时,进行有异常值的情况的横向比较,会发现,整体而言,柯西分布情况、拉普拉斯分布情况、T分布情况,不同模型的总体表现都会差于正态分布情况下。(两种混合正态分布因设定的方差与其他情况差距较大,不进行比较)
表格中第二种混合正态分布的情况下,所有方法的表现都非常差,但其中最小二乘法的表现是最好的,这里可能的原因是设定的混合正态分布的方差过大,在只有一百个数据的情况下,难以得到有效的估计,同时,由于方差过大,添加异常值对数据整体的影响并不大。在异常值影响不够大的情况下,最小二乘法展现出了比较优越的拟合能力。
综上所述,可以得出结论,在一元线性回归当中,当可以满足正态性且没有异常值的条件时,最小二乘法具有优越性,但是,现实世界并不一定可以满足两个条件,当数据中含有异常值时,各种稳健回归的方法都表现出了更优的拟合效果。同时,认为随机扰动项服从正态分布时将能够得到更好的拟合效果。
\section{实证分析}
\subsection{数据集准备}
采用"Diabetes"数据集,该数据集是一个经典的用于回归分析的数据集,通常用于评估不同特征对糖尿病患者血糖水平的影响。这个数据集包含442个观测值和10个特征,其中每个特征都是与患者的某些生理特征相关的测量值。本文截取其中与因变量的皮尔逊相关系数最高(0.58)的特征BMI指数进行一元线性回归。将数据按照7:3的比例随机分为训练集和测试集,在训练集上对模型进行拟合,在测试集上计算预测值和真实值之间的MSE,作为衡量模型优劣的标准。
\subsection{进行拟合}
首先不对数据集做任何处理,直接进行拟合。\footnote{由于三组耐抗线使用自己编写的函数实现,其中使用了递归算法,在当前这个线性关系并不十分显著的数据集上,会出现栈深度超载的情况,程序无法执行,因此下面不给出三组耐抗线的测试结果。}
\begin{figure}[H] % 使用figure环境来控制图片的位置,[h]表示放置在当前位置
\centering % 居中对齐
\includegraphics[width=0.9\textwidth]{normalcondition.png} % 插入图片,并指定图片宽度
\caption{正常情况直线拟合} % 图片标题
\label{fig:a} % 图片标签,用于交叉引用
\end{figure}
同时,在训练集中随机挑选一些数据点,将因变量手动更改为异常值,添加了10个值为1000,25个值为500,对添加了异常值的数据也进行拟合。
\begin{figure}[H] % 使用figure环境来控制图片的位置,[h]表示放置在当前位置
\centering % 居中对齐
\includegraphics[width=0.9\textwidth]{unormalcondition.png} % 插入图片,并指定图片宽度
\caption{添加异常值情况直线拟合} % 图片标题
\label{fig:a} % 图片标签,用于交叉引用
\end{figure}
对上述两种情况,都在测试集上计算MSE,得到结果如下
\begin{center}
\textbf{Table 2}~~不同情况下不同模型测试集上MSE.
\begin{tabular}{lrr}
\toprule
{} & 一般情况 & 添加异常值 \\
\midrule
OLS\_model & 5229.191662 & 17792.396509 \\
Huber\_model & 5431.906534 & 5739.017543 \\
LTS\_model & 5615.153809 & 10249.945051 \\
TheilSen\_model & 5276.171355 & 5673.761512 \\
\bottomrule
\end{tabular}
\end{center}
\subsection{总结}
实证研究的结果与数值模拟的结果相一致,当数据不含异常值时,最小二乘法能够获得相对其他稳健方法更优的拟合效果和泛化效果,但是当数据中存在异常值的时候,稳健方法会更加具有鲁棒性。
\bibliographystyle{plain}
\bibliography{mybib}
\end{sloppypar}
\end{document}