Зміст курсу
Основи Теорії Ймовірностей
Основи Теорії Ймовірностей
Що таке кореляція?
Кореляція — це статистична міра, яка кількісно визначає взаємозв'язок між двома змінними. Вона визначається як масштабована коваріація, і завдяки цьому масштабу можна визначити не лише напрямок, а й силу залежності.
Кореляція змінюється в межах від -1
до 1
, де:
Якщо кореляція дорівнює
+1
, то значення мають ідеальний прямий лінійний зв'язок. При зростанні однієї змінної інша також зростає пропорційно;Якщо кореляція дорівнює
-1
, то значення мають ідеальний обернений лінійний зв'язок. При зростанні однієї змінної інша зменшується пропорційно;Якщо коефіцієнт кореляції близький до
0
, то між змінними немає лінійного зв'язку.
Для обчислення кореляції можна виконати ті ж кроки, що й для обчислення коваріації, та використати np.corrcoef(x, y)[0, 1]
.
import matplotlib.pyplot as plt import numpy as np # Create a figure with three subplots fig, axes = plt.subplots(1, 3) fig.set_size_inches(10, 5) # Positive linear dependence x = np.random.rand(100) * 10 # Generate random x values y = x + np.random.randn(100) # Generate y values with added noise axes[0].scatter(x, y) # Scatter plot of x and y axes[0].set_title('Correlation is '+ str(round(np.corrcoef(x, y)[0, 1], 3) )) # Set title with correlation coefficient # Negative linear dependence x = np.random.rand(100) * 10 # Generate random x values y = -x + np.random.randn(100) # Generate y values with added noise axes[1].scatter(x, y) # Scatter plot of x and y axes[1].set_title('Correlation is '+ str(round(np.corrcoef(x, y)[0, 1], 3) )) # Set title with correlation coefficient # Independent np.random.seed(0) # Set random seed for reproducibility x = np.random.rand(200) # Generate random x values y = np.random.rand(200) # Generate random y values axes[2].scatter(x, y) # Scatter plot of x and y axes[2].set_title('Correlation is '+ str(round(np.corrcoef(x, y)[0, 1], 3) )) # Set title with correlation coefficient plt.show() # Display the plot
Дякуємо за ваш відгук!