【问题标题】:R: Two dimensional non-parametric regressionR:二维非参数回归
【发布时间】:2010-10-18 20:30:32
【问题描述】:

R 中的哪些包和函数可以执行二维非加性局部回归/平滑。例如考虑

b<-seq(-6*pi,6*pi,length=100)
xy<-expand.grid(b,b) 
x=xy[[1]]
y=xy[[2]]
z= sin(x)+cos(y) + 2*sin(x)*cos(y)
contour(b,b,matrix(z,100,100))

什么函数可以估计这个?

【问题讨论】:

  • 好吧,现在有点复杂了,我该如何在一个加法的二进制框架中做呢?
  • 你也可以试试 stats.stackexchange.com
  • 对二进制数据执行此操作可能有点棘手。我能想到两件事:(1)无论如何都要做黄土;使用 bootstrap 获取置信区间(由于空间方面有点棘手 - 阻止 bootstrap?)或(2)在 mgcv 中使用 gam() (但请参阅下面@ucfagls 的评论以了解这种方法的困难)
  • PS 也许你也可以尝试某种傅里叶或小波变换/平滑
  • 我正在查看用于在加法模型中进行局部似然的 locfit 包,但不断出现错误。尽管是二元性质,我可能不得不做黄土。

标签: r statistics


【解决方案1】:

你可以用黄土做到这一点:

fit <- loess( z ~ x+ y, span=0.01 )
dev.new()

contour( b, b, matrix( predict(fit), 100, 100 ) )

【讨论】:

    【解决方案2】:

    mgcv 有多种二维样条选项。

    【讨论】:

    • 在我看到 Greg 的回答后,这将是我的建议。然而,当我尝试这个时,我需要使用大量的结来拟合一个非常复杂的表面,即便如此,在这种情况下,拟合不如loess() 好。我使用gam( z ~ s(x, y, k = 200) 之类的东西来获得合理的配合。我没有进一步探索,因为我的旧笔记本电脑无法快速安装这些模型。
    猜你喜欢
    • 2020-07-13
    • 1970-01-01
    • 2015-09-16
    • 2020-09-19
    • 2020-04-20
    • 1970-01-01
    • 2021-04-04
    • 2014-02-17
    相关资源
    最近更新 更多