非参数统计模型
经济统计学中的非参数模型与分析

经济统计学中的非参数模型与分析经济统计学作为经济学的一个重要分支,旨在通过对经济数据的收集、整理和分析,揭示经济现象和规律,为经济决策提供科学依据。
在经济统计学中,非参数模型是一种重要的分析工具,它与传统的参数模型相比,更加灵活和适用于复杂的经济现象。
一、非参数模型的基本概念和原理非参数模型是指在建模过程中,对模型的形式和参数的分布没有做出具体的假设。
相比之下,参数模型需要对模型的形式和参数的分布进行明确的假设,从而限制了模型的灵活性和适用性。
非参数模型的基本原理是通过对数据的直接分析和模式识别,来推断出经济现象的规律和特征。
二、非参数模型在经济统计学中的应用1. 非参数回归模型非参数回归模型是非参数模型中的一种重要应用,它可以用来研究变量之间的非线性关系。
传统的参数回归模型假设变量之间的关系是线性的,但是在实际经济中,很多变量之间存在着复杂的非线性关系。
非参数回归模型通过对数据的拟合和分析,可以更准确地描述这种非线性关系,从而提高模型的预测能力和解释力。
2. 非参数分类模型非参数分类模型是非参数模型的另一个重要应用,它可以用来研究经济现象的分类和分组。
在经济统计学中,经常需要对经济主体进行分类和分组,以便进行更深入的研究和分析。
传统的参数分类模型需要对分类变量的分布和参数进行假设,但是在实际应用中,往往无法满足这些假设。
非参数分类模型通过对数据的聚类和分类,可以更准确地划分经济主体,从而提高研究的精度和可靠性。
3. 非参数时间序列模型非参数时间序列模型是非参数模型在时间序列数据分析中的应用。
在经济统计学中,经常需要对经济数据进行时间序列分析,以揭示经济现象的演变和趋势。
传统的参数时间序列模型需要对时间序列的分布和参数进行假设,但是在实际应用中,往往无法满足这些假设。
非参数时间序列模型通过对数据的时间演化和趋势的分析,可以更准确地描述经济现象的动态变化,从而提高时间序列分析的准确性和可靠性。
三、非参数模型的优势和局限性非参数模型相比于传统的参数模型,具有以下优势:1. 灵活性:非参数模型不对模型的形式和参数的分布做出具体的假设,因此更加灵活和适用于复杂的经济现象。
统计模型知识点总结

统计模型知识点总结统计模型是统计学中的一个重要概念,这些模型用于对数据进行建模、推断和预测。
统计模型涉及到多种概率分布、参数估计和假设检验等内容。
在实际数据分析中,使用统计模型可以帮助我们发现数据的规律性、进行数据预测和对数据进行推断。
下面我们将对统计模型的各个知识点进行总结。
1. 概率分布在统计模型中,对数据的分布通常采用概率分布来描述。
常见的概率分布有正态分布、二项分布、泊松分布等。
在建立统计模型时,通常需要对数据的分布进行假设,然后选择合适的概率分布模型来描述数据的分布,这样可以更好地对数据进行分析和建模。
2. 参数估计参数估计是统计模型中一个重要的部分,它指的是利用样本数据来估计总体的参数。
常用的参数估计方法有极大似然估计、最小二乘估计等。
参数估计的目标是找到最优的参数估计值,使得估计值与总体参数的差距最小,从而达到对总体参数的准确估计。
3. 假设检验在统计模型中,我们通常需要对某些假设进行检验,比如总体的均值是否等于某个特定值、总体之间是否存在差异等。
假设检验主要分为单样本检验、双样本检验、方差分析等。
通过假设检验,我们可以对数据进行推断,并得出相应的结论。
4. 线性回归模型线性回归模型是统计模型中的经典模型之一,它用于描述自变量与因变量之间的线性关系。
线性回归模型通过最小二乘估计方法来估计回归系数,从而得到回归方程。
线性回归模型通常用于预测和分析数据,它在实际应用中有着广泛的应用。
5. Logistic回归模型Logistic回归模型是一种用于建立分类模型的统计模型,它用于描述自变量与因变量之间的概率关系。
Logistic回归模型通常用于处理二分类问题,比如预测客户是否会购买某个产品、预测疾病发生的概率等。
Logistic回归模型常用于建立预测模型和风险模型。
6. 时间序列模型时间序列模型是一种用于建立时间序列数据的统计模型,它用于描述时间序列数据中的趋势、季节性、周期性等规律性。
时间序列模型通常用于预测未来的数据值、分析时间序列数据的规律性等。
结构方程模型sem

结构方程模型sem结构方程模型(StructuralEquationModeling,简称SEM)是一类数据分析技术,可以帮助研究人员理解和统计量化复杂的社会科学问题。
它将多个变量,如性别、年龄、收入组合到多个变量之间的关系,作为社会科学研究的重要分析方法,SEM被越来越广泛地应用于社会科学、心理学、教育学和经济学等不同领域。
SEM是一种非参数统计模型,它描述的是变量之间的关系,而不是变量的独立变量。
它通过应用最小二乘法,确定变量与变量之间的关系,并进行数据解释。
它可以分析解释变量之间的潜在关系,以及评估因果效应等。
SEM采用两个重要的概念,即模型假设和残差。
模型假设:表明变量之间的关系,可以为正态或非正态,残差表示变量之间的不确定性。
在拟合模型的过程中,不断的优化模型和残差,使变量之间的关系最大化,残差最小化。
SEM有很多应用,这里仅列出其中的一些。
1、社会学研究:社会学研究的SEM是一种广义的方法,用于描述复杂的社会关系。
它可以用来研究人们之间的关系,如决定他们影响行为的因素,以及个体和社会之间的交互作用等。
2、心理学研究:SEM也可以用于心理学研究,用来研究个体内心的情感、思想和行为之间的关系。
它可以用来分析人的性格特征、行为特征、认知机制以及个体的潜在变量等。
3、教育学研究:SEM也是教育学研究中常用的手段,可以分析学校教育程序和学生行为之间的关系。
它可以帮助研究者确定影响学习成果的潜在因素,改善教育程序,加强教学管理,增强学生学习成果等。
4、经济学研究:在经济学领域,SEM也被用来分析经济活动和经济政策之间的关系。
它可以帮助研究者建立经济模型,并用来分析经济变量的动态关系,有助于政府制定经济政策,提高国民经济水平。
经过近几十年的发展,SEM已经成为一种有效的诊断工具,被广泛应用于不同的社会科学领域。
它不仅可以测量变量与变量之间的关系,还可以测量变量的影响力,对社会科学研究有着重要意义。
非参数统计模型

非参数统计第二次作业——局部多项式回归与样条回归习题一:一、本题是研究加拿大工人收入情况,即年龄(age)和收入(income)的关系。
此次共调查了205个加拿大工人的年龄和收入,所有工人都是高中毕业。
且本题设定因变量为log.income,协变量为age,运用统计方法来拟合log.income 与age之间的函数关系。
二、模型的建立1.估计方法的选取拟合两个变量之间的函数关系,即因变量和协变量之间的关系,用回归估计的方法,回归估计包括参数回归估计和非参数回归估计。
参数估计是先假定某种数学模型或已知总体的分布,例如总体服从正态分布,其中某些参数未知,如总体均值、方差等,然后利用样本去估计这些未知参数,常用的方法有极大似然估计,Bayes估计等,线性模型可以用最小二乘法估计。
非参数估计是不假定具有某种特定的数学模型,或总体分布未知,直接利用样本去估计总体的数学模型,常用的方法有局部多项式回归方法和样条函数回归方法。
本题调查了205个加拿大工人的年龄和收入,但是加拿大工人年龄和收入的具体分布未知,即这两个变量所能建立的数学模型未知,而且由协变量和因变量所形成的散点图可以看出它不符合某种特定的已知模型,需要进一步研究,然后拟合它们之间的函数关系。
因此本题选用非参数回归估计的方法,来拟合因变量和协变量之间的关系。
针对此问题分别采用非参数估计中的局部多项式回归和样条函数回归方法对log.income 与age之间的函数关系进行估计。
2.局部多项式回归方法局部多项式的思想是在某个点x附近,用一个多项式函数来逼近未知的光滑函数g(x)。
选定局部邻域的大小h,对于任意给定某个点x 0,在其小邻域内展开泰勒公式,用一个p阶多项式来局部逼近g(x),然后再用极大似然估计。
(1)加拿大工人的收入(log.income)与年龄(age)之间的散点图如下所示:注:以下所做的图中用X表示协变量年龄age,用Y表示因变量收入log.income(2)用将X与Y排序的方法拟合的加拿大工人的收入(log.income)与年龄(age)之间函数关系如下图所示:(3)用局部多项式回归方法拟合的加拿大工人的收入(log.income)与年龄(age)之间函数关系如下图所示:(4)用cross-validation的方法选择最佳的smoothing parameter,图形如下:由上图可以大概看出smoothing parameter的取值,使得函数CV.vec达到最小的h.vec取值是7,即最佳的smoothing parameter取值h=7。
非参数统计模型及其在大数据分析中的应用

非参数统计模型及其在大数据分析中的应用一、简介统计学是现代科学领域中的一门重要的学科,其中参数统计模型一直是统计学的核心内容。
然而在实际应用中,往往存在很多我们无法确定的参数,或者我们需要处理的数据并没有遵循特定的概率分布,这就需要非参数统计模型的使用。
特别是在大数据的分析中,非参数统计模型也越来越受到重视。
二、参数统计模型和非参数统计模型参数统计模型是指依据已知的数据和一些假设条件,通过计算统计量的值,来确定未知参数的结果。
例如,我们可以使用正态分布来描述一些连续型的数据,并通过计算平均值和标准差来估计正态分布的参数。
然而,在现实中,很多情况下我们并不知道所处理的数据的分布情况,或者无法对数据进行明确的假设,这时候,参数统计模型显然无法使用。
非参数统计模型则不需要任何关于数据分布的先验知识。
它们不基于任何概率模型,而是直接利用样本数据的特征来进行统计分析。
例如,一个重要的非参数统计量是赤池信息准则(AIC),它可以通过模型的负对数似然函数来估计模型的复杂度。
非参数方法的优点在于它们可以更加灵活,适用范围更广。
三、大数据分析中的非参数统计模型在现代数字化时代,我们拥有了大量的非结构化数据,这些数据包括但不限于文本、图像、音频、视频等。
非参数统计模型在处理这些大数据时,可以发挥其巨大的优势。
一种常用的非参数统计模型是核密度估计(Kernel Density Estimator,简称 KDE)。
KDE 可以计算连续型变量的概率密度函数,从而更好地描述数据分布的特征。
在图像处理中,我们也可以使用非参数模型来进行图像的分割和分类。
另一个非参数方法是随机森林(Random Forest),该方法被广泛运用于监督学习领域。
随机森林可以在大数据集上处理非线性可分的数据分类问题,同时还具有较好的鲁棒性和泛化性能。
四、总结随着数据科学的快速发展,非参数统计模型在大数据分析中的使用也变得越来越普遍。
在实践中,我们需要根据具体情况灵活采用不同的方法,确保我们的分析结果尽可能准确和可靠。
非参数统计讲义二单样本模型通用课件

02
单样本模型介绍
单样本模型定义
单样本模型是指仅使 用一个样本数据来构 建统计模型的统计方 法。
单样本模型常用于分 析单个样本数据的分 布、参数估计和假设 检验等。
它与双样本模型相对 ,后者需要两个独立 样本数据进行比较。
单样本模型的特点
简单易用
灵活性
单样本模型仅需一个样本数据,无需 复杂的配对或分组操作,计算过程相 对简单。
秩和检验的应用步骤
将数据排序,计算秩次,根据秩次计算统计量,与临界值进行比较。
秩和检验的优点
不受数据分布形式的限制,能够处理异常值和离群点。
案例三:直方图在单样本模型中的应用
直方图
直方图是一种非参数统计方法, 用于展示数据的分布情况。在单 样本模型中,直方图可以用于分
析一组数据的分布特征。
直方图的应用步骤
成本,对于大规模数据集可能存在计算效率问题。
02
对数据量和样本代表性要求较高
非参数统计方法需要足够的数据量和样本代表性,才能保证分析结果的
稳定性和可靠性。
03
对数据质量要求较高
非参数统计方法对数据的质量和完整性要求较高,如果数据存在缺失、
异常或偏差等问题,可能会影响分析结果的准确性和可靠性。
04
非参数统计在单样 本模型中的具体应 用
核密度估计在单样本模型中的应用
核密度估计是一种非参数统计方法,用 于估计未知概率密度函数。在单样本模 型中,核密度估计可以用来检验数据是 否符合特定的概率分布,或者比较两组
数据的分布是否相似。
核密度估计的基本思想是利用核函数和 权重函数对概率密度函数进行加权平均 ,从而得到未知概率密度函数的估计。 常用的核函数包括高斯核、多项式核等
非参数模型

表示
非参数模型一般表达式为
其中Y是响应变量,T是协变量并且与随机误差ε相互独立,m(T)=E(Y/T)为未知的光滑函数,误差满足E(ε) =0,var(ε)=1.标准差函数σ(.)恒正。
对于非参数模型,有许多估计方法可以选择,例如核估计方法,样条方法,傅里叶级数展开法和局部多项式 方法。
介绍
利用直接记录或分析系统的输入和输出信号的方法估计系统的非参数模型。非参数模型通常以响应曲线或离 散值形式表示。非参数模型的辨识可通过直接记录系统输出对输入的响应过程来进行;也可通过分析输入与输出 的自相关和互相关函数(见相关分析法建模),或它们的自功率谱和互功率谱函数(见频谱分析方法建模)来间接地 估计。非参数模型是经典控制理论中常用的描述线性系统的数学模型。传递函数反映输入与输出的拉普拉斯变换 在复数域上的响应关系,频率响应反映它们的傅里叶变换在频率域上的响应关系,而脉冲响应和阶跃响应则是在 时域上的响应关系。它们从不同的方面反映系统的动态特性。非参数模型比参数化模型直观,辨识非参数模型的 方法和计算也比辨识参数化模型的简单。脉冲响应可以用直接记录输入脉冲函数的输出响应的方法来辨识;频率 响应也可以直接利用单频正弦输入信号的响应来辨识。但是这种直接辨识方法只能应用于无随机噪声的确定性系 统。对于有随机噪声的系统或随机输入信号,必须使用相关分析法或功率谱分析方法。
现状及发展
随着快速傅里叶变换仪、伪随机信号发生器和相关仪的问世,辨识系统的非参数模型已变得比较容易。但非 参数模型应用于实时控制和适应性控制仍不如参数化模型方便。非参数模型在某些情形下,可以转化为参数模型。 例如,如果一个系统的传递函数可以表示为有理分式H(s)=K/(a+s),则系统的模型可以用常微分方程y'+ay=ku 表示,a与k为待估计的模型参数,这是参数化模型。又如,对于离散系统的权函数序列(离散脉冲响应序列) {hi,i=0,1,…},如果在i充分大(如i>N0),而│hi│充分小时,则模型可以表示为并可用最小二乘法给出有 穷权函数序列{hi,i=0,1,…N0}的估计。一般说来,由参数模型容易获得非参数的脉冲响应或频率响应,但由非 参数模型化为参数模型则要困难得多。
gp计算公式

gp计算公式一、GP计算公式的原理GP是一种机器学习中常用的非参数统计模型,常用于回归和分类问题。
其核心思想是通过对已知数据进行高斯分布建模,从而对未知数据进行预测。
GP的计算公式如下所示:K(x,x') = σ^2 * exp(-||x-x'||^2 / (2 * l^2))其中,K(x,x')表示协方差矩阵,x和x'表示输入的数据点,σ^2表示噪声方差,l表示长度尺度。
通过调整σ^2和l的取值,可以对模型进行灵活的调整。
二、GP计算公式的应用GP在许多领域都有广泛的应用,以下是几个常见的应用场景:1. 回归分析GP可以用于回归问题,通过已知数据点的输入和输出,可以对未知数据点进行预测。
在回归问题中,GP可以根据已知数据点的分布情况,对未知数据点的输出进行估计。
2. 时间序列分析GP可以用于时间序列分析,通过对已知时间序列的建模,可以对未知时间点的值进行预测。
在时间序列分析中,GP可以根据已知数据点的时间间隔和取值,对未知时间点的取值进行预测。
3. 异常检测GP可以用于异常检测,通过对已知数据点的分布进行建模,可以对未知数据点进行异常检测。
在异常检测中,GP可以根据已知数据点的分布情况,对未知数据点进行判断,判断其是否为异常值。
4. 优化问题GP可以用于优化问题,通过对已知数据点的建模,可以对未知数据点进行优化。
在优化问题中,GP可以根据已知数据点的取值情况,对未知数据点的取值进行优化,以达到最优解。
三、总结GP计算公式是一种常用的机器学习模型,通过对已知数据点进行高斯分布建模,可以对未知数据点进行预测。
它在回归分析、时间序列分析、异常检测和优化问题等领域都有广泛的应用。
通过合理调整公式中的参数,可以对模型进行灵活的调整,以适应不同的应用场景。
因此,掌握GP计算公式的原理和应用,对于深入理解机器学习和数据分析算法具有重要意义。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
非参数统计第二次作业——局部多项式回归与样条回归习题一:一、本题是研究加拿大工人收入情况,即年龄(age)和收入(income)的关系。
此次共调查了205个加拿大工人的年龄和收入,所有工人都是高中毕业。
且本题设定因变量为log.income,协变量为age,运用统计方法来拟合log.income 与age之间的函数关系。
二、模型的建立1.估计方法的选取拟合两个变量之间的函数关系,即因变量和协变量之间的关系,用回归估计的方法,回归估计包括参数回归估计和非参数回归估计。
参数估计是先假定某种数学模型或已知总体的分布,例如总体服从正态分布,其中某些参数未知,如总体均值、方差等,然后利用样本去估计这些未知参数,常用的方法有极大似然估计,Bayes估计等,线性模型可以用最小二乘法估计。
非参数估计是不假定具有某种特定的数学模型,或总体分布未知,直接利用样本去估计总体的数学模型,常用的方法有局部多项式回归方法和样条函数回归方法。
本题调查了205个加拿大工人的年龄和收入,但是加拿大工人年龄和收入的具体分布未知,即这两个变量所能建立的数学模型未知,而且由协变量和因变量所形成的散点图可以看出它不符合某种特定的已知模型,需要进一步研究,然后拟合它们之间的函数关系。
因此本题选用非参数回归估计的方法,来拟合因变量和协变量之间的关系。
针对此问题分别采用非参数估计中的局部多项式回归和样条函数回归方法对log.income 与age之间的函数关系进行估计。
2.局部多项式回归方法局部多项式的思想是在某个点x附近,用一个多项式函数来逼近未知的光滑函数g(x)。
选定局部邻域的大小h,对于任意给定某个点x 0,在其小邻域内展开泰勒公式,用一个p阶多项式来局部逼近g(x),然后再用极大似然估计。
(1)加拿大工人的收入(log.income)与年龄(age)之间的散点图如下所示:注:以下所做的图中用X表示协变量年龄age,用Y表示因变量收入log.income(2)用将X与Y排序的方法拟合的加拿大工人的收入(log.income)与年龄(age)之间函数关系如下图所示:(3)用局部多项式回归方法拟合的加拿大工人的收入(log.income)与年龄(age)之间函数关系如下图所示:(4)用cross-validation的方法选择最佳的smoothing parameter,图形如下:由上图可以大概看出smoothing parameter的取值,使得函数CV.vec达到最小的h.vec取值是7,即最佳的smoothing parameter取值h=7。
(5)结果分析对于最终用局部多项式回归方法拟合的收入(log.income)与年龄(age)之间函数关系图中,黑色线条表示的是将X与Y排序拟合的函数关系;红色线条Local linear estimate1表示的是用Epanechnikov核函数确定的smoothing parameter进行局部多项式回归得到的函数关系;蓝色线条表示用cross-validation方法确定的最佳smoothing parameter进行局部多项式回归得到的函数关系,显然蓝色线条对X与Y拟合的函数关系比较准确。
3. 样条函数回归方法样条函数的思想是在区间[a,b]内等距离选取K个点作为节点,每两个相邻的节点区域内都是一个基函数,且每一个基函数都是分段函数,每一组基函数构成一个线性空间。
在众多基函数选取中,B-样条基函数更稳定,应用更广泛。
对于拟合的函数的光滑程度的控制,P-Spline函数方法更好。
P-Spline函数方法用一些预先定义的节点来定义一组基函数,同时增加一个惩罚函数,来控制拟合函数的光滑程度。
然后用一组B-样条基函数的线性组合来逼近f(x),最后解最优函数。
(1)加拿大工人的收入(log.income)与年龄(age)之间的散点图如下所示:(2)用penalized-splines方法拟合的加拿大工人的收入(log.income)与年龄(age)之间函数关系如下图所示:(3)用generalized cross-validation的方法选择最佳的smoothing parameter,图形如下:由上图可以大概看出smoothing parameter的取值,最佳的smoothing parameter取值h=0.035。
(4)结果分析上图中红色线条表示的是用generalized cross-validation方法选择的最佳smoothing parameter 进行penalized-splines回归得到的X与Y的函数关系,显然此回归结果与局部多项式回归中蓝色线条所代表的拟合函数相似,而且都充分凸显了散点图中xobs与yobs函数关系的双峰效果,拟合程度较好。
习题二一、本题是对ethanol数据集进行研究,因变量为NOx,协变量为E,运用统计方法来拟合E与NOx之间的函数关系。
二、模型的建立1.估计方法的选取拟合两个变量之间的函数关系,即因变量和协变量之间的关系,用回归估计的方法,回归估计包括参数回归估计和非参数回归估计。
参数估计是先假定某种数学模型或已知总体的分布,例如总体服从正态分布,其中某些参数未知,如总体均值、方差等,然后利用样本去估计这些未知参数,常用的方法有极大似然估计,Bayes估计等,线性模型可以用最小二乘法估计。
非参数估计是不假定具有某种特定的数学模型,或总体分布未知,直接利用样本去估计数学模型,常用的方法有局部多项式回归方法,和样条函数回归方法。
本题是针对ethanol数据集进行研究,但是ethanol数据集的具体分布未知,而且由协变量和因变量所形成的散点图可以看出它不符合某种特定的已知模型,需要进一步研究,然后拟合它们之间的函数关系。
因此本题选用非参数回归估计的方法,来拟合因变量和协变量之间的关系。
针对此问题分别采用非参数估计中的局部多项式回归和样条函数回归方法对NOx与E之间的函数关系进行估计。
1.局部多项式回归方法注:以下所绘的图中用X表示协变E,用Y表示因变量NOx。
(1)ethanol数据集中NOx与E之间的函数关系散点图如下所示:(2)用将X与Y排序的方法拟合协变量E与因变量NOx之间函数关系如下图所示:(3)用局部多项式回归方法拟合的协变量E与因变量NOx之间函数关系,如下图所示:(4)用cross-validation的方法选择最佳的smoothing parameter,图形如下:由上图可以大概看出smoothing parameter的取值,使得函数CV.vec达到最小的h.vec取值是0.035,即最佳的smoothing parameter取值h=0.035。
(5)结果分析对于最终用局部多项式回归方法拟合的协变量E与因变量NOx之间函数关系图中,黑色线条表示的是将X与Y排序拟合的函数关系;红色线条Local linear estimate1表示的是用Epanechnikov核函数确定的smoothing parameter进行局部多项式回归得到的函数关系;蓝色线条表示用cross-validation方法确定最佳的smoothing parameter进行局部多项式回归得到的函数关系,显然蓝色线条对X与Y拟合的函数关系比较准确。
2.样条函数回归方法注:以下所绘的图中用xobs表示协变E,用yobs表示因变量NOx。
(1)ethanol数据集中NOx与E之间的函数关系散点图如下所示:(2)用penalized-splines方法拟合的ethanol数据集中NOx与E之间的函数关系如下图所示:(3)用generalized cross-validation的方法选择最佳的smoothing parameter,图形如下:由上图可以大概看出smoothing parameter的取值,使得函数GCV达到最小的横坐标取值是-6,即最佳的smoothing parameter取值h=-6。
(4)结果分析上图中红色线条表示的是用generalized cross-validation方法选择的最佳smoothing parameter 进行penalized-splines回归得到的xobs与yobs的函数关系。
代码:习题一:局部多项式回归library(SemiPar)data(age.income);X<-age.income$age;Y<-age.income$log.income;X2=X^2; X3=X^3; X4=X^4;fit1 <- lm(Y~X+X2+X3+X4);coefE=c(fit1$coeff);resids=fit1$residuals;sigmaE=sqrt(var(resids));CK=1.719temp=cbind(2,3*2*X,4*3*X^2)%*%as.vector(coefE[-(1:2)]);den=sum(temp^2);h.ROT=CK*(sigmaE^2/den)^(1/(2*1+3));h.vec=seq(5,15,by=0.05);CV.vec=0*h.vec;for(k in 1:length(h.vec)){print(k);CV.vec[k] <- CV1.fun(X,Y,h=h.vec[k]);}plot(h.vec,CV.vec,type="l");h.CV=h.vec[which.min(CV.vec)];xfine=seq(20,60,length=50);ypred1 <- rep(0,length(xfine));ypred2 <- rep(0,length(xfine));for(i in 1:length(xfine)){ypred1[i] <- LLS.fun(xfine[i],X,Y,h=h.ROT);ypred2[i] <- LLS.fun(xfine[i],X,Y,h=h.CV);}plot(X,Y)lines(sort(X),sort(Y));lines(xfine,ypred1,lty=2,col=2);lines(xfine,ypred2,lty=4,col=4);legend(40,12,c("True","Local linear estimate1","Local linear estimate2"),lty=c(1,2,4),col=c(1,2,4))样条回归:library(SemiPar)data(age.income);xobs = age.income$age;yobs = age.income$log.income;nobs = length(yobs);plot(xobs,yobs);library(fda);knots=seq(min(xobs),max(xobs),length=15);nknots = length(knots);norder = 4;nbasis = length(knots) + norder - 2;basis = create.bspline.basis(c(min(xobs),max(xobs)),nbasis,norder,knots); basismat = eval.basis(xobs, basis);h <- 0.1quadpts <- seq(min(xobs),max(xobs),h)nquadpts <- length(quadpts)quadwts <- c(1,rep(c(4,2),(nquadpts-1)/2))quadwts[nquadpts] <- 1quadwts <- quadwts*h/3Q2basismat = eval.basis(quadpts, basis,2);Rmat = t(Q2basismat)%*%(Q2basismat*(quadwts%*%t(rep(1,nbasis)))) basismat2 = t(basismat)%*%basismat;lambdaVec = 10^seq(-5,5,1)nlambda = length(lambdaVec)df = rep(0,nlambda)GCV = dffor (s in 1:nlambda){lambda = lambdaVec[s]Bmat = basismat2 + lambda*Rmat;chat = solve(Bmat)%*%t(basismat)%*%yobs;yhat = basismat%*%chat;SSE = t(yhat-yobs)%*%(yhat-yobs)Smat = basismat%*%solve(Bmat)%*%t(basismat)df[s] = sum(diag(Smat))GCV[s] = SSE/(nobs-df[s])^2}plot(seq(-5,5,1),GCV,type = "l")lambda.opt = lambdaVec[which.min(GCV)];Bmat = basismat2 + lambda.opt*Rmat;chat = solve(Bmat)%*%t(basismat)%*%yobs;yhat = basismat%*%chat;plot(xobs,yobs);lines(xobs,yhat,type = "l",col="red")习题二:局部多项式回归library(locfit);data(ethanol);X<-ethanol$EY<-ethanol$NOx;X2=X^2; X3=X^3; X4=X^4;fit1 <-lm(Y~X+X2+X3+X4);coefE=c(fit1$coeff);resids=fit1$residuals;sigmaE=sqrt(var(resids));CK=1.719temp=cbind(2,3*2*X,4*3*X^2)%*%as.vector(coefE[-(1:2)]); den=sum(temp^2);h.ROT=CK*(sigmaE^2/den)^(1/(2*1+3));h.vec=seq(0.02,0.06,by=0.0005);CV.vec=0*h.vec;for(k in 1:length(h.vec)){print(k);CV.vec[k] <- CV1.fun(X,Y,h=h.vec[k]);}plot(h.vec,CV.vec,type="l");h.CV=h.vec[which.min(CV.vec)];xfine=seq(0.5,1.2,length=10);ypred1 <- rep(0,length(xfine));ypred2 <- rep(0,length(xfine));for(i in 1:length(xfine)){ypred1[i] <- LLS.fun(xfine[i],X,Y,h=h.ROT);ypred2[i] <- LLS.fun(xfine[i],X,Y,h=h.CV);}plot(X,Y)lines(sort(X),sort(Y));lines(xfine,ypred1,lty=2,col=2);lines(xfine,ypred2,lty=4,col=4);legend(0.8,1,c("True","Local linear estimate1","Local linear estimate2"),lty=c(1,2,4),col=c(1,2,4))样条回归:library(locfit) data(ethanol); xobs = ethanol$E; yobs = ethanol$NOx; nobs = length(yobs); plot(xobs,yobs);library(fda); knots=seq(min(xobs),max(xobs),length=15); nknots = length(knots); norder = 4; nbasis = length(knots) + norder - 2; basis = create.bspline.basis(c(min(xobs),max(xobs)),nbasis,norder,knots); basismat = eval.basis(xobs, basis);h <- 0.1 quadpts <- seq(min(xobs),max(xobs),h) nquadpts <- length(quadpts) quadwts <- c(1,rep(c(4,2),(nquadpts-1)/2)) quadwts[nquadpts] <- 1 quadwts <- quadwts*h/3 Q2basismat = eval.basis(quadpts, basis,2); Rmat = t(Q2basismat)%*%(Q2basismat*(quadwts%*%t(rep(1,nbasis)))) basismat2 = t(basismat)%*%basismat; lambdaVec = 10^seq(-10,-1,1) nlambda = length(lambdaVec) df = rep(0,nlambda) GCV = df for (s in 1:nlambda) { lambda = lambdaVec[s] Bmat = basismat2 + lambda*Rmat; chat = solve(Bmat)%*%t(basismat)%*%yobs;yhat = basismat%*%chat; SSE = t(yhat-yobs)%*%(yhat-yobs) Smat = basismat%*%solve(Bmat)%*%t(basismat) df[s] = sum(diag(Smat)) GCV[s] = SSE/(nobs-df[s])^2 } plot(seq(-10,-1,1),GCV,type = "l") lambda.opt = lambdaVec[which.min(GCV)]; Bmat = basismat2 + lambda.opt*Rmat; chat = solve(Bmat)%*%t(basismat)%*%yobs; yhat = basismat%*%chat; plot(xobs,yobs); lines(xobs,yhat,type = "l",col="red")。