全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件
2453 8
2011-06-06
悬赏 5 个论坛币 已解决
能不能帮我个忙啊   帮我解决个一元非参数回归方面的问题  
详情  悬赏贴地址:https://bbs.pinggu.org/thread-1113050-1-1.html

万分感激  感谢

最佳答案

chinachun 查看完整内容

附件包括 1:非参数拟合你给出的问题 2:通过plug in 方法选择窗框h 3:局部多项式估计非参数模型 4: 计算MSE 5:线性拟合你给的问题 6:LS估计参数 7:计算线性MSE 8:计算结果是非参数拟合更好 9:一个非参数蒙特卡洛模拟例子及其计算MSE 注意程序是R编写的,保证没问题,肯定得到你要的结果。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-6-6 10:12:47
附件包括
1:非参数拟合你给出的问题
2:通过plug in 方法选择窗框h
3:局部多项式估计非参数模型
4: 计算MSE
5:线性拟合你给的问题
6:LS估计参数
7:计算线性MSE
8:计算结果是非参数拟合更好
9:一个非参数蒙特卡洛模拟例子及其计算MSE
注意程序是R编写的,保证没问题,肯定得到你要的结果。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-6-6 10:53:33
楼主看看这个吧,R语言实现非参数估计的
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-6-6 10:54:16
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-6-6 11:03:18
3# Jazz1990

谢谢啦   我看看
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-6-6 14:12:33
你可以试试如下的code
fit$m
fit$hatsigma2
将给出你想要的结果
供参考.
窗宽是用GCV方法选取的.
Code 是根据Xia Yingcun的Code修改得到的
=================================================================

Gcvh <- function(x,y) {
n = length(y);
m = y;
cv0 = 1.0e50;
s = matrix(0, n, 1)
for (hi in 1:20)
{h = hi/20*(max(x)-min(x))/2
for (i in 1:n)
{k = exp( -(x - x[i])^2/(2*h*h))/sqrt(2*3.14)/h
m[i] = t(k) %*% y/sum(k)
s[i] = k[i]/sum(k); }
cv = mean( (y-m)^2)/( 1 - sum(s)/n)^2;
if (cv < cv0) { cv0 =cv
h0 = h } }
return(h0) }

ks <- function(x, y, xnew=x, bandwidth=0.5)
{
n = length(y)
hatm = matrix(0, n);
for (i in 1:n)
{ k = exp( -(x - x[i])^2/(2*bandwidth*bandwidth))/sqrt(2*3.14)/bandwidth
hatm[i] = t(k) %*% y/sum(k)
}
hatsigma2 = mean((y - hatm)^2)
m = matrix(0, length(xnew), 1)

for (i in 1:length(xnew)) {
k = exp( -(x - xnew[i])^2/(2*bandwidth*bandwidth))/sqrt(2*3.14)/bandwidth
m[i] = t(k) %*% y/sum(k)
}
return(list(m=m, hatsigma2 =hatsigma2 ))
}

x = c(1510.2,1700.6,2026.6,2577.4,3496.2,4283.0,4838.9,5160.3,5425.1,5854.0,6280.0,6859.6,7702.8,8472.2,
9421.6,10493.0,11759.5,13785.8,15780.8,17174.7)/1000
y = c(1278.89,1453.81,1671.73,2110.81,2851.34,3537.57,3919.47,4185.64,4331.61,4615.91,4998.00,
5309.01,6029.88,6510.94,7182.10,7942.88,8696.55,9997.47,11242.85,12264.55)/1000
plot(x,y)
h = Gcvh(x,y);  
fit = ks(x, y, bandwidth=h)
lines(x,fit$m)
fit$m
fit$hatsigma2
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群