曲線擬合 使用 ggplot2 進行曲線擬合

2021-10-16 03:20:44 字數 1155 閱讀 9674

有讀者詢問如何對散點圖擬合非線性的曲線。實際上我們通常看到的無論是直線擬合還是各種曲線擬合都屬於廣義線性模型。

這裡我們構造一組資料來看看如何使用 ggplot2 來擬合資料。

構造的資料因變數大致是自變數 3 次方:

set.seed(1234l)

x y

df x = x,

y = y

)

使用 ggplot2 繪製散點圖:

我們先直接利用geom_smooth()對散點進行平滑擬合,預設使用的是 loess 方法。

修改方法使用線性回歸。

p + geom_smooth(method = "lm")

#> `geom_smooth()` using formula 'y ~ x'

如果針對的是非線性回歸,而我們已經看到了大致的模式,我們可以通過 r 支援的公式來設定如何擬合散點。

除了直接geom_smooth()進行擬合,還可以先使用lm()建立模型,生成對應的值,然後使用線條新增在圖上也是可以的。

matlab進行曲線擬合

在matlab 中多項式可以通過向量表示 eg f x 4x 3 2x 2 8x 3求解 roots 4,2,8,3 曲線擬合,對離散資料的處理對2點到6點的溫度資料進行分析 分別作出在1,2,3此多項式下的擬合結果分析 x 2 6 y 65 67 72 71 63 morex linspace m...

MATLAB 使用 Matlab 進行曲線擬合

在matlab中,用polyfit函式來求得最小二乘擬合多項式的係數,再用polyval函式按所得的多項式計算所給點上的函式近似值。x linspace 0,2 pi,20 y sin x p polyfit x,y,3 y1 polyval p,x plot x,y,o x,y1,legend r...

使用遺傳演算法進行曲線擬合

遺傳演算法可以做最優化,這是因為回歸模型的演算法關鍵是最優化,而遺傳演算法可以做最優化。例如,把殘差當成目標函式,形如 min g a,b i 0n f xi a,b yi 2 min g a,b sum limits n f x i a,b y i 2 ming a b i 0 n f xi a,...