24小时热门版块排行榜    

查看: 4570  |  回复: 12

yoyo0201

金虫 (著名写手)

[求助] 关于概率密度函数为负数问题 已有3人参与

概率密度函数为非负,但是用ksdensity 函数得到的概率密度函数有负数,现在我想将负数去掉请问可以吗?如何操作?求指点
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Nonsmooth

银虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
yoyo0201: 金币+5, ★★★★★最佳答案 2015-08-02 14:38:20
【用ksdensity 函数得到的概率密度函数有负数】说明这里的处理有问题。
学术无国界。
2楼2015-08-02 13:34:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mygt_hit

专家顾问 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
yoyo0201: 金币+5, ★★★很有帮助 2015-08-02 14:42:35
应该是处理有问题吧,PDF应该非负的。
知其然,知其所以然。
3楼2015-08-02 14:02:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yoyo0201

金虫 (著名写手)

引用回帖:
2楼: Originally posted by Nonsmooth at 2015-08-02 13:34:59
【用ksdensity 函数得到的概率密度函数有负数】说明这里的处理有问题。

恩,matlab用Ksdensity函数直接得到的概率密度函数就有负数,网上查了下说里面的核函数对数据样本进行了平滑处理,核函数的参数带宽会影响平滑的程度,没有查到如何处理。。求助一下
4楼2015-08-02 14:42:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yoyo0201

金虫 (著名写手)

引用回帖:
3楼: Originally posted by mygt_hit at 2015-08-02 14:02:31
应该是处理有问题吧,PDF应该非负的。

那请问下,哪里处理有问题呢?我是看网上说用这个函数直接得到概率密度函数,但是得到非负不符合我的实际,求助如何解决
5楼2015-08-02 14:43:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mygt_hit

专家顾问 (职业作家)

【答案】应助回帖

引用回帖:
5楼: Originally posted by yoyo0201 at 2015-08-02 14:43:30
那请问下,哪里处理有问题呢?我是看网上说用这个函数直接得到概率密度函数,但是得到非负不符合我的实际,求助如何解决...

matlab默认的核函数是高斯核,本身是非负的。通过不同高斯核的线性组合估计PDF,如果出现负值,应该是线性组合系数中出现负数了。你试试其他的带宽参数或其他核函数。PDF估计也有其他方法,也可以试试。
知其然,知其所以然。
6楼2015-08-02 14:54:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yoyo0201

金虫 (著名写手)

引用回帖:
6楼: Originally posted by mygt_hit at 2015-08-02 14:54:01
matlab默认的核函数是高斯核,本身是非负的。通过不同高斯核的线性组合估计PDF,如果出现负值,应该是线性组合系数中出现负数了。你试试其他的带宽参数或其他核函数。PDF估计也有其他方法,也可以试试。...

其他的带宽参数或者核函数不知道如何设置?试了直方图画概率密度函数图,貌似准确性没有这个好。。。请求帮助~~~急待解决的问题
7楼2015-08-02 14:58:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mygt_hit

专家顾问 (职业作家)

【答案】应助回帖

引用回帖:
7楼: Originally posted by yoyo0201 at 2015-08-02 14:58:05
其他的带宽参数或者核函数不知道如何设置?试了直方图画概率密度函数图,貌似准确性没有这个好。。。请求帮助~~~急待解决的问题...

你看看Ksdensity的帮助,通过属性名-属性值可以设置核函数,也可以设置其他参数。

例如:通过核函数估计CDF的。
x = [randn(30,1); 5+randn(30,1)];
xi = linspace(-10,15,201);
f = ksdensity(x,xi,'function','cdf');
plot(xi,f);

通过kernel属性设置核函数。
f = ksdensity(x,xi,'kernel','triangle');
通过width属性设置带宽。
f = ksdensity(x,xi,'width',1);
知其然,知其所以然。
8楼2015-08-02 15:12:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yoyo0201

金虫 (著名写手)

引用回帖:
8楼: Originally posted by mygt_hit at 2015-08-02 15:12:34
你看看Ksdensity的帮助,通过属性名-属性值可以设置核函数,也可以设置其他参数。

例如:通过核函数估计CDF的。
x = ;
xi = linspace(-10,15,201);
f = ksdensity(x,xi,'function','cdf');
plot(xi,f);

...

好的,我看看。非常感谢啊~~有问题再向您请教
9楼2015-08-02 15:46:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

43fd6ys

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
应该全正,计算为负应检查算法的正确性.
10楼2015-08-02 20:58:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yoyo0201 的主题更新
信息提示
请填处理意见