樣條平滑是一種關於一般類的強大而靈活的建模技術,應用包括多項式,週期,球面,薄板,l-和部分樣條,以及更高階模型的概述,包括平滑樣條線anova,擴充套件和廣義平滑樣條anova,向量樣條,非引數非線性回歸,半引數回歸和半引數混合效應模型。樣條
樣條是一種分段的低階多項式逼近函式,可應用於具有不同非線性度或者存在多個極值點的函式。它包含兩類:多項式樣條和光滑樣條。多項式樣條可以解決很多問題,但是理論與實踐都表明直接用最小二乘去求解係數效果不好,容易過擬合。乙個可能的改進是光滑樣條。所謂的光滑樣條,就是在求解最小二乘時給估計函式( f(x) )加上了一定的懲罰,這個有點類似壓縮估計。光滑樣條
r的splines包中提供了函式smooth.spline來求解光滑樣條。
spline函式的功能:對給定資料點執行三次(或hermite)樣條插值,返回通過插值獲得的點列表或執行插值的函式。
#help("spline")時列出所包含的函式
splinefun(x, y = null,
method = c("fmm", "periodic", "natural", "monoh.fc", "hyman"),
ties = mean)
spline(x, y = null, n = 3*length(x), method = "fmm",
xmin = min(x), xmax = max(x), xout, ties = mean)
splinefunh(x, y, m)
smooth.spline:使用立方平滑樣條擬合所提供的資料。
smooth.spline(x, y =
null, w =
null, df, spar =
null, lambda =
null, cv =
false,
all.knots =
false, nknots =
.nknots.smspl,
keep.
data
=true, df.offset =
0, penalty =
1, control.spar =
list(), tol =
1e-6
* iqr(x), keep.stuff =
false)
示例:
smoother=function
(x,g)
輸出值:
- x:公升序後的x值;
- y:對應於x的擬合值;
- w:x唯一值時使用的權重;
資料擬合平滑樣條問題
r裡面有平滑樣條函式,一條命令就好了smooth.spline 比如我們做基因組測序資料時需要將dosage對gc進行校正,那麼 在r中做gc校正就相當簡單 d read.table flex,colclasses c numeric rep null 4 numeric numeric 其中設定為...
R語言 簡單指數平滑法
簡單指數平滑適用於可用相加模型描述,並且處於恆定水平和沒有季節變動的時間序列地短期 簡單指數平滑法提供了一種方法估計當前時間點上的水平。為了更加準確的估計當前時間的水平,我們使用alpha引數來控制平滑,alpha的取值在0 1之間。當alpha越接近0,臨近 的觀測值在 中的權重就越小。我們採用倫...
R語言 霍爾特指數平滑法(Holt)
有增長或者降低趨勢的,沒有季節性可相加模型的時間序列 演算法 霍爾特指數平滑法 holt holt 指數平滑法估計當前時間的水平和斜率。其平滑水平是由兩個引數控制,alpha 估計當前點水平 beta 估計當前點趨勢部分斜率。兩個引數都介於0 1之間,當引數越接近0,大部分近期的觀測值的權值將較小。...