非参数统计模型

合集下载

单因素方差分析的一种非参数统计模型方法3

单因素方差分析的一种非参数统计模型方法3

3 模型的假设检验
在对模型进行假设检验分析问题之前 , 我们先引进秩的定义及它的一个极重要的性质 . 定义 设 x1 , …, x n 都是实数 , 且互不相等 . 若在 x1 , …, x n 中 , 恰有 ri 个其值不超过 x i , 换 句话说 , 若将 x1 , …, x n 由小到大排序而 x i 占据第 ri 位 ( 最小的占据第一位) , 则称 x i 的秩为 ri . 引理 设 X 1 , …, X n i . i. d. X 1 ~ F , F 为一维连续分布 . 以 R 记 ( X 1 , …, X n ) 的秩 , 1 则 P ( R = ( i1 , …, i n ) ) = , 对 ( 1 , …, n) 的任一置换 ( i1 , …, i n )
y ij =
i. i. d
1
j
j
k =1
∑y
ik
j = 1 , 2 , …, n; i = 1 , 2 , …a
则 Π j , y ij i . i. d , i = 1 , 2 , …a. 记 y ・j = ( y1 j , …, y aj ) ′ 以 r ij 记 y ij 在合样本
( y1 j , y2 j , …, y aj ) 中的秩 . 记 R ・j = ( r1 j , …, raj ) ′ . 我们引进统计量 :
表 4 . 4 a = 3 n = 6
L P L P L P
0 0 . 0437243 0 . 666667 0 . 0424383 1. 5 0 . 00257202
0 . 0555556 0 . 216049 0 . 722222 0 . 0694444 1 . 55556 0 . 00385802
0 . 00154321 0 . 000128601

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

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

经济统计学中的非参数模型与分析经济统计学作为经济学的一个重要分支,旨在通过对经济数据的收集、整理和分析,揭示经济现象和规律,为经济决策提供科学依据。

在经济统计学中,非参数模型是一种重要的分析工具,它与传统的参数模型相比,更加灵活和适用于复杂的经济现象。

一、非参数模型的基本概念和原理非参数模型是指在建模过程中,对模型的形式和参数的分布没有做出具体的假设。

相比之下,参数模型需要对模型的形式和参数的分布进行明确的假设,从而限制了模型的灵活性和适用性。

非参数模型的基本原理是通过对数据的直接分析和模式识别,来推断出经济现象的规律和特征。

二、非参数模型在经济统计学中的应用1. 非参数回归模型非参数回归模型是非参数模型中的一种重要应用,它可以用来研究变量之间的非线性关系。

传统的参数回归模型假设变量之间的关系是线性的,但是在实际经济中,很多变量之间存在着复杂的非线性关系。

非参数回归模型通过对数据的拟合和分析,可以更准确地描述这种非线性关系,从而提高模型的预测能力和解释力。

2. 非参数分类模型非参数分类模型是非参数模型的另一个重要应用,它可以用来研究经济现象的分类和分组。

在经济统计学中,经常需要对经济主体进行分类和分组,以便进行更深入的研究和分析。

传统的参数分类模型需要对分类变量的分布和参数进行假设,但是在实际应用中,往往无法满足这些假设。

非参数分类模型通过对数据的聚类和分类,可以更准确地划分经济主体,从而提高研究的精度和可靠性。

3. 非参数时间序列模型非参数时间序列模型是非参数模型在时间序列数据分析中的应用。

在经济统计学中,经常需要对经济数据进行时间序列分析,以揭示经济现象的演变和趋势。

传统的参数时间序列模型需要对时间序列的分布和参数进行假设,但是在实际应用中,往往无法满足这些假设。

非参数时间序列模型通过对数据的时间演化和趋势的分析,可以更准确地描述经济现象的动态变化,从而提高时间序列分析的准确性和可靠性。

三、非参数模型的优势和局限性非参数模型相比于传统的参数模型,具有以下优势:1. 灵活性:非参数模型不对模型的形式和参数的分布做出具体的假设,因此更加灵活和适用于复杂的经济现象。

电路中的可靠性测试与可靠性建模

电路中的可靠性测试与可靠性建模

电路中的可靠性测试与可靠性建模在电子设备的设计和制造过程中,电路的可靠性是一个非常重要的考虑因素。

可靠性测试和可靠性建模是评估和提高电路可靠性的关键步骤。

本文将介绍电路中的可靠性测试方法和可靠性建模技术。

一、可靠性测试方法可靠性测试是评估电路在特定条件下正常运行的概率的过程。

以下介绍几种常见的可靠性测试方法:1. 应力加速测试(Accelerated Stress Testing,AST)应力加速测试通过增加电路的应力水平来加速失效,以评估电路在长期使用中的可靠性。

常用的应力加速测试方法包括高温老化测试、温度循环测试和湿热老化测试等。

这些测试方法可以使电路在较短的时间内暴露于高温、低温、湿度等极端条件下,以模拟电路在不同环境中的可靠性表现。

2. 故障模式和影响分析(Failure Mode and Effects Analysis,FMEA)故障模式和影响分析是通过对电路的各种可能故障模式进行分析,确定其对电路性能和可靠性的影响程度。

通过FMEA,我们可以识别并优化潜在的故障点,并采取措施来减少故障的发生率。

这使得电路在故障条件下具有更好的可靠性。

3. 退化测试(Degradation Testing)退化测试是在长时间使用后对电路进行测试,以评估电路在使用寿命内的可靠性。

通过在不同时间点对电路进行测量和分析,我们可以了解电路的性能和可靠性退化情况,并及时采取措施来修复或替换受损的部件。

二、可靠性建模技术可靠性建模是通过数学和统计方法来描述电路的可靠性特性。

以下介绍几种常见的可靠性建模技术:1. 非参数统计模型非参数统计模型是一种不依赖于数据分布假设的建模方法。

通过非参数统计模型,我们可以利用实验数据中的失效时间和失效概率来推断电路的可靠性特性。

常用的非参数统计模型包括Kaplan-Meier模型和Nelson-Aalen模型等。

2. 参数统计模型参数统计模型假设电路的失效时间服从某种特定的概率分布,如指数分布、Weibull分布等。

非参数统计模型

非参数统计模型

非参数统计第二次作业——局部多项式回归与样条回归习题一:一、本题是研究加拿大工人收入情况,即年龄(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。

大数据下expectile模型的并行计算

大数据下expectile模型的并行计算
算法并行化
将Expectile模型算法并行化 ,充分利用计算资源,提高
计算效率。
资源虚拟化
利用虚拟化技术,对计算资 源进行池化管理,实现资源 动态分配和共享。
1
数据本地化
在分布式系统中,实现数据 本地化,减少数据传输开销
,提高数据处理速度。
系统容错性
加强系统的容错性,确保在 节点故障或数据丢失时,系 统仍能正常运行。
采用分布式存储技术,如 HDFS、HBase等,对数据进 行存储和访问,提高数据存取 速度。
对数据进行清洗、去重、标准 化等预处理操作,提高数据质 量。
针对Expectile模型算法进行优 化,如采用随机采样、增量学 习等技术,减少计算量和内存 占用。
Expectile模型在大数据应用中的优化策略
针对数据分配问题,未来研究可以探索更有效的数据分配算法,以更好地利用计算资源并 提高计算效率。
通信优化技术
为了降低通信开销,未来研究可以探索更优的通信机制和技术,例如采用分布式计算框架 中的通信协议或优化数据交换模式。
异构环境下的稳定性与准确性研究
针对异构环境带来的问题,未来研究可以深入探讨如何在不同性能的计算机或处理器上实 现稳定的Expectile模型计算,并保证结果的准确性。
大数据下expectile模型 的并行计算
汇报人:
日期:
CATALOGUE
目 录
• Expectile模型介绍 • 并行计算基础 • Expectile模型并行计算实现 • Expectile模型在大数据中的应用 • 并行计算在Expectile模型中的应用
前景与挑战
01
CATALOGUE
Expectile模型介绍
为了实现并行计算,需要将原始数据 集划分为多个子数据集,同时考虑数 据集大小、计算节点数量、网络通信 等因素,确保划分的均匀性和负载的 平衡性。

非参数统计模型及其在大数据分析中的应用

非参数统计模型及其在大数据分析中的应用

非参数统计模型及其在大数据分析中的应用一、简介统计学是现代科学领域中的一门重要的学科,其中参数统计模型一直是统计学的核心内容。

然而在实际应用中,往往存在很多我们无法确定的参数,或者我们需要处理的数据并没有遵循特定的概率分布,这就需要非参数统计模型的使用。

特别是在大数据的分析中,非参数统计模型也越来越受到重视。

二、参数统计模型和非参数统计模型参数统计模型是指依据已知的数据和一些假设条件,通过计算统计量的值,来确定未知参数的结果。

例如,我们可以使用正态分布来描述一些连续型的数据,并通过计算平均值和标准差来估计正态分布的参数。

然而,在现实中,很多情况下我们并不知道所处理的数据的分布情况,或者无法对数据进行明确的假设,这时候,参数统计模型显然无法使用。

非参数统计模型则不需要任何关于数据分布的先验知识。

它们不基于任何概率模型,而是直接利用样本数据的特征来进行统计分析。

例如,一个重要的非参数统计量是赤池信息准则(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}的估计。一般说来,由参数模型容易获得非参数的脉冲响应或频率响应,但由非 参数模型化为参数模型则要困难得多。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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")。

相关文档
最新文档