- Haskell Data Analysis Cookbook
- Nishant Shukla
- 279字
- 2021-12-08 12:43:37
Comparing scaled data using the Pearson correlation coefficient
Another way to measure how closely two items relate to each other is by examining their individual trends. For example, two items that both show an upward trend are more closely related. Likewise, two items that both show a downward trend are also closely related. To simplify the algorithm, we will only consider linear trends. This calculation of correlation is called the Pearson correlation coefficient. The closer the coefficient is to zero, the less correlated the two data sets will be.
The Pearson correlation coefficient for a sample is calculated using the following formula:

How to do it...
Create a new file, which we will call Main.hs
, and perform the following steps:
- Implement
main
to compute the correlation coefficient between two lists of numbers:main :: IO () main = do let d1 = [3,3,3,4,4,4,5,5,5] let d2 = [1,1,2,2,3,4,4,5,5] let r = pearson d1 d2 print r
- Define the function to compute the Pearson coefficient:
pearson xs ys = (n * sumXY - sumX * sumY) / sqrt ( (n * sumX2 - sumX*sumX) * (n * sumY2 - sumY*sumY) ) where n = fromIntegral (length xs) sumX = sum xs sumY = sum ys sumX2 = sum $ zipWith (*) xs xs sumY2 = sum $ zipWith (*) ys ys sumXY = sum $ zipWith (*) xs ys
- Run the code to print the coefficient.
$ runhaskell Main.hs 0.9128709291752768
How it works...
The Pearson correlation coefficient measures the degree of linear relationship between two variables. The magnitude of this coefficient describes how strongly the variables are related. If positive, the two variables change together. If negative, as one variable increases, the other decreases.
- Learning ROS for Robotics Programming(Second Edition)
- Spring 5.0 By Example
- GeoServer Cookbook
- Learning Bayesian Models with R
- 深入理解Java7:核心技術與最佳實踐
- Learning Neo4j 3.x(Second Edition)
- Python程序設計案例教程
- C/C++程序員面試指南
- 區塊鏈技術與應用
- JavaScript機器人編程指南
- Java EE Web應用開發基礎
- Scrapy網絡爬蟲實戰
- 官方 Scratch 3.0 編程趣味卡:讓孩子們愛上編程(全彩)
- 從零開始學Unity游戲開發:場景+角色+腳本+交互+體驗+效果+發布
- C Primer Plus(第6版)中文版【最新修訂版】