如何比较两个概率密度函数?
Posted
技术标签:
【中文标题】如何比较两个概率密度函数?【英文标题】:How to compare two Probability Density Functions? 【发布时间】:2018-06-12 14:11:47 【问题描述】:我有两个概率密度函数,我想知道它们的分布是否相似。我知道 R 中的 KS 测试可以做到这一点,但是当我运行代码时,会发生错误。感谢您的帮助。
set.seed(100)
a=density(sample(x=1:30,size = 30,replace = T))
b=density(sample(x=1:40,size = 35,replace = T))
plot(a)
lines(b)
ks.test(a,b)
Error in ks.test(a, b) :
'y' must be numeric or a function or a string naming a valid function
【问题讨论】:
您需要提供ks.test
数据点,而不是密度估计值。
ks.test
旨在对原始数据进行操作。不是从原始数据生成的反对密度。如果您省略 density()
调用,它会起作用。
【参考方案1】:
您需要输入两个样本(数据值的数字向量)作为ks.test
的参数。
set.seed(100)
x <- sample(x=1:30,size = 30,replace = T)
y <- sample(x=1:40,size = 35,replace = T)
a=density(x)
b=density(y)
plot(a)
lines(b)
ks.test(x,y)
【讨论】:
以上是关于如何比较两个概率密度函数?的主要内容,如果未能解决你的问题,请参考以下文章
概率论与数理统计猴博士 笔记 p24-25 条件概率密度函数求两个随机变量形成的函数的分布
哈尔滨工业大学计算机学院-模式识别-课程总结-概率密度函数的参数估计
人工智能数学基础:两个存在映射关系的随机变量的概率密度函数关系研究