全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
5713 8
2014-12-27
大神请看如下代码,NW核估计窗宽选择问题,用CV准则选取窗宽,为什么我的结果一直是CV值会随着h的增大而增大,这样怎么选窗宽呢?求高手帮忙解决,谢谢!
clc;clear all;
% Generate some noisy data.
x = linspace(0, 4 * pi,100);
y = sin(x) + 0.75*randn(size(x));
% Create an inline function to evaluate the weights.
mystrg='(2*pi*h^2)^(-1/2)*exp(-0.5*((x - mu)/h).^2)';
wfun = inline(mystrg);
% Set up the space to store the estimated values.
% We will get the estimate at all values of x.
yhatnw = zeros(size(x));
n = length(x);
% Set the window width.
%  h = 1;
hGarry = [0.1:0.1:10];
for j=1:numel(H)
    h=hGarry(j);
    % find smooth at each value in x
    for i = 1:n
        w = wfun(h,x(i),x);
        yhatnw(i) = sum(w.*y)/sum(w);
    end
    %CV准则选取窗宽
    CV(j) = sum((y- yhatnw).^2)/numel(x);
end

二维码

扫码加我 拉你入群

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

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

全部回复
2014-12-28 01:26:31
这code好像没问题啊。
二维码

扫码加我 拉你入群

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

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

2014-12-28 10:02:15
remlus 发表于 2014-12-28 01:26
这code好像没问题啊。
code是没问题的,可是没法选h
二维码

扫码加我 拉你入群

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

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

2015-6-27 13:06:50
你应该用leave-one-out的方法,如果不去点,显然是带宽越小越好。
二维码

扫码加我 拉你入群

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

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

2016-9-6 10:20:01
请教一下,变量多的情况下,用cross validation计算带宽,真的很慢啊?!

为了得到较为合理的带宽,有什么折衷的方法可以替代呢?
二维码

扫码加我 拉你入群

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

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

2016-9-6 10:20:30
hzcmaster 发表于 2015-6-27 13:06
你应该用leave-one-out的方法,如果不去点,显然是带宽越小越好。
请教一下,变量多的情况下,用cross validation计算带宽,真的很慢啊?!

为了得到较为合理的带宽,有什么折衷的方法可以替代呢?
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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