«Проверка мультиколлинеарности» — английская фраза. Это относится к процессу проверки наличия мультиколлинеарности в статистической модели. Мультиколлинеарность возникает, когда две или более переменных-предикторов в регрессионной модели сильно коррелируют, что может привести к проблемам при интерпретации результатов модели.
Существует несколько методов проверки мультиколлинеарности в регрессионной модели. Вот несколько часто используемых методов и примеры кода:
-
Матрица корреляции:
Рассчитайте матрицу корреляции переменных-предикторов и найдите высокие значения корреляции.import pandas as pd # Calculate correlation matrix correlation_matrix = df.corr() # Display correlation matrix print(correlation_matrix) -
Фактор инфляции дисперсии (VIF):
Рассчитайте VIF для каждой предикторной переменной. Значения VIF больше 5 или 10 указывают на высокую мультиколлинеарность.from statsmodels.stats.outliers_influence import variance_inflation_factor # Calculate VIF vif = pd.DataFrame() vif["Variable"] = df.columns vif["VIF"] = [variance_inflation_factor(df.values, i) for i in range(df.shape[1])] # Display VIF print(vif) -
Собственные значения:
Вычисление собственных значений корреляционной матрицы. Если какое-либо собственное значение близко к нулю, это указывает на мультиколлинеарность.import numpy as np # Calculate eigenvalues eigenvalues, _ = np.linalg.eig(correlation_matrix) # Display eigenvalues print(eigenvalues) -
Допуск.
Рассчитайте допуск для каждой предикторной переменной. Значения допуска менее 0,1 предполагают высокую мультиколлинеарность.tolerance = 1.0 / vif["VIF"] # Display tolerance print(tolerance)
Эти методы предоставляют различные способы оценки мультиколлинеарности в регрессионной модели. Важно отметить, что не существует четкого порогового значения для определения мультиколлинеарности, а интерпретация результатов может варьироваться в зависимости от конкретной проблемы и контекста.