一、什麼是Lowess?
Locally Weighted Scatterplot Smoothing(局部加權散點圖平滑),簡稱LOWESS,是一種非參數回歸技術,主要用於確定在一個二元數據的散點圖上(兩個變數的數據分布圖)的一個光滑的(或非粗糙的)的函數。相比於傳統的線性回歸,Lowess更適合對雜訊數據進行擬合。 在介紹Lowess的原理之前,我們先了解幾個概念。
二、幾個重要概念
1.離差平方和(SSE):是指每個數據點到擬合直線的距離距離的平方之和。
2.帶寬h:帶寬即決定擬合直線上的點數,也可以理解成控制了擬合的光滑程度。
3.權重函數W:Lowess的特色在於採用了非線性的權重函數。在原點距離超過帶寬h的點權重會被賦值為0,兩點之間距離越近,權重越大。
三、Lowess原理
在Lowess中,我們以兩個變數x和y畫出散點圖,用一條平滑曲線來描述變數之間的關係。這條曲線不是一次函數,也不是二次函數,而是由所有點組成的局部函數。
在計算曲線的每一個點處的函數值時,我們通過以下步驟:
1. 將當前點加入到窗口(窗口大小由帶寬h設定)。
2. 在窗口內根據權重函數計算出每個數據點的權重(距離當前點越近的數據點權重越大)。
3. 根據權重計算出權重均值,並用它來對當前點進行平滑化。
4. 將當前點向右或向下移動一格,重複步驟1-3,直到計算完成。
from statsmodels.nonparametric.smoothers_lowess import lowess # 生成隨機數據 import numpy as np np.random.seed(42) x = np.linspace(-5, 5, 20) y = np.sin(x) + np.random.normal(0, 0.5, len(x)) # 用lowess函數來擬合數據 z = lowess(y, x, frac=1./3, return_sorted=False)
四、Lowess應用場景
由於Lowess適用於非線性數據集,主要可以應用於以下幾個方面:
1.在圖形中平滑曲線。Lowess可用於對數據進行平滑處理,並繪製曲線以顯示數據的趨勢。
2.在趨勢分析中。與其他非參數估計方法一樣,Lowess對於確定數據的趨勢是非常有用的。
3.在回歸分析中。它可以使用x的值來預測y的值,這是回歸分析的一種非參數方法。
五、優缺點
Lowess作為一種比較新的演算法,具有以下優點:
1.可以更好地處理非線性數據集和雜訊數據集。
2.可以適用於所有連續變數的數據集,不需要假設線性模型。
3.適用於小型數據集和高維數據集,但比其他非參數估計方法所需的計算量稍大。
但是,Lowess也有缺點,主要表現為:
1.可能不適用於大型數據集,對於大量的數據集計算時間更長。
2.需要進行嘗試調整帶寬h和閾值等參數。
六、總結
Lowess是一種非參數回歸技術,旨在消除數據集中的雜訊並擬合非線性數據集。它運用非線性的權重函數進行平滑處理,可以更好地凸顯數據集的趨勢。它適用於小型數據集和高維數據集,在實際應用中有較高的實用性,但需要注意在調整帶寬和閾值時進行適當的優化。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/278823.html