私は時系列データのスムージングをカスタマイズする際に助けが必要です。以下のコードは、sm.regression
とと関数を使用してデータを平滑化しますが、スムージングの程度はユーザーが制御しません。つまり、関数のパラメータを変更することで、平滑化された曲線が、私の単純なカーネルスムージングコードでスムージングの程度を制御
find.extrema <- function(x)
{
if(is.xts(x)) {
y = as.vector(Cl(x))
} else {
y = x
}
n = len(y)
t = 1:n
h = h.select(t, y, method = 'cv')
temp = sm.regression(t, y, h=h, display = 'none')
mhat = approx(temp$eval.points, temp$estimate, t, method='linear')$y
#mhat = y #to exactly match underlying data
return (mhat)
}
助けてください。
ありがとうございました。
「sm.regression」はどこからですか? Rの多くの既存のスムージングオプションを 'smooth.spline'と'黄土 'からあなたが夢見ることができるGAMに使うのはなぜですか? – alistaire
@ ZheyuanLi:ありがとう、私は時間が足りず、R. Thatsの経験がないので、前回の質問を削除し、Rの限られた知識で可能な限り明確にするために編集しました。 – user1517108