2010-10-18 67 views
4

R中的哪些包和函數可以執行二維非加性局部迴歸/平滑。例如,考慮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)) 

alt text

什麼功能可以估算呢?

+0

現在好了更復雜一點我該如何在添加劑二進制框架中進行操作? – 2010-10-18 21:58:22

+0

你也可以試試stats.stackexchange.com – mbq 2010-10-19 11:30:43

+0

用二進制數據做這件事可能有點棘手。我能想到的兩件事情:(1)無論如何做黃土;使用引導程序來獲得置信區間(由於空間方面 - 區塊引導?有點棘手),或者(2)在mgcv中使用gam()(但請參閱下面的@ ucfagls的註釋以解決此方法的困難) – 2010-10-20 18:37:03

回答

3

你可以用黃土做到這一點:

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

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

mgcv有各種各樣的2-d花鍵的選項。

+0

在我看到格雷格的回答後,這就是我的建議。但是,當我嘗試這種方法時,我需要使用大量的節點來適應一個非常複雜的表面,即使如此,在這種情況下,適合度也不如「黃土」。我使用了'gam(z〜s(x,y,k = 200)''來得到合理的結果。我沒有進一步探索,因爲我的舊筆記本電腦無法快速完成這些模型的任務。 – 2010-10-19 07:57:07