使用 TypeScript 陣列求相關系數(correlation)
在資料分析中,相關系數(correlation)是一個重要的概念,它可以用來測量兩個變數之間的線性關係。在 TypeScript 中,可以使用陣列來計算相關系數,並且可以得到一個數值,以描述兩個變數之間的線性關係。
在 TypeScript 中,可以使用 Array.prototype.reduce()
方法來計算相關系數。該方法會對陣列中的每個元素執行指定的函數,並將結果累加起來,最後返回一個單一的值。
// 計算兩個陣列的相關系數 function correlation(x: number[], y: number[]) { const xMean = x.reduce((a, b) => a + b) / x.length; const yMean = y.reduce((a, b) => a + b) / y.length; const xDiff = x.map(x => x - xMean); const yDiff = y.map(y => y - yMean); const xDiff2 = xDiff.map(x => x * x); const yDiff2 = yDiff.map(y => y * y); const xyDiff = xDiff.map((x, i) => x * yDiff[i]); const numerator = xyDiff.reduce((a, b) => a + b); const denominator = Math.sqrt( xDiff2.reduce((a, b) => a + b) * yDiff2.reduce((a, b) => a + b) ); return numerator / denominator; }
上面的函數會接受兩個陣列作為參數,並計算它們之間的相關系數。首先,它會計算兩個陣列的平均值,然後計算每個元素與平均值之間的差值,並將它們平方。接著,它會將兩個陣列的差值相乘,然後將結果累加起來,最後除以兩個陣列的差值平方和的平方根,以得到最終的相關系數。
現在,我們可以使用上面的函數來計算兩個陣列之間的相關系數:
const x = [1, 2, 3, 4, 5]; const y = [2, 4, 6, 8, 10]; const correlation = correlation(x, y); console.log(correlation); // 1
上面的程式碼會計算兩個陣列之間的相關系數,並將結果輸出到控制台。由於兩個陣列之間存在完全線性關係,因此最終的相關系數為 1。
在 TypeScript 中,可以使用陣列來計算相關系數,並得到一個數值,以描述兩個變數之間的線性關係。使用 Array.prototype.reduce()
方法可以對陣列中的每個元素執行指定的函數,並將結果累加起來,最後返回一個單一的值。
本文介紹了如何使用 TypeScript 陣列來計算相關系數,並給出了一個簡單的示例程式碼,可以用來計算兩個陣列之間的相關系數。