使用 TypeScript 輕鬆求取數組的線性回歸係數

線性回歸是一種強大的數據分析技術,用於探索和預測變量之間的關係。在本文中,我們將學習如何使用 TypeScript 來求取數組的線性回歸係數,包括斜率和截距的計算過程。

線性回歸簡介

線性回歸是一種統計分析方法,旨在建立一個變量(因變量)與另一個變量(自變量)之間的關係模型。它的基本形式是一個線性方程:

y = mx + b

在這裡:
y 是我們要預測的變量。
x 是自變量。
m 是斜率,表示 x 的變化對 y 的影響程度。
b 是截距,表示當 x 為零時 y 的預測值。

要計算線性回歸係數,我們需要求取斜率 m 和截距 b,這涉及到計算平均值和共變異數。

在 TypeScript 中實現線性回歸

在 TypeScript 中,我們可以利用 `Array.prototype.reduce()` 方法來幫助我們計算所需的統計數據。以下是實現的步驟:

1. 計算數組的平均值。
2. 計算 x 和 y 的共變異數。
3. 計算 x 的方差。
4. 使用公式計算斜率 m 和截距 b

以下是完整的 TypeScript 代碼範例:

function linearRegressionCoefficients(x: number[], y: number[]): [number, number] {
    const n = x.length;
    const xMean = x.reduce((acc, curr) => acc + curr, 0) / n;
    const yMean = y.reduce((acc, curr) => acc + curr, 0) / n;

    const xyCovariance = x.reduce((acc, curr, i) => acc + (curr - xMean) * (y[i] - yMean), 0);
    const xVariance = x.reduce((acc, curr) => acc + (curr - xMean) ** 2, 0);

    const m = xyCovariance / xVariance;
    const b = yMean - m * xMean;

    return [m, b];
}

這段代碼首先計算 x 和 y 的平均值,然後計算它們的共變異數和 x 的方差,最後根據公式計算出斜率和截距並返回。

結論

使用 TypeScript 來求取數組的線性回歸係數是一項實用的技術,能幫助我們深入理解數據間的關係並預測未來趨勢。無論你是數據分析師還是開發者,掌握這項技能都將對你有所幫助。開始實作並分析你的數據吧!

Categorized in:

Tagged in: