平滑樣條法 R

2021-08-21 14:39:15 字數 1463 閱讀 2657

樣條平滑是一種關於一般類的強大而靈活的建模技術,應用包括多項式,週期,球面,薄板,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,大部分近期的觀測值的權值將較小。...