"""Importing the api class from statsmodels"""
import statsmodels.formula.api as sm
"""X_opt variable has all the columns of independent variables of matrix X
in this case we have 5 independent variables"""
X_opt = X[:,[0,1,2,3,4]]
"""Running the OLS method on X_opt and storing results in regressor_OLS"""
regressor_OLS = sm.OLS(endog = y, exog = X_opt).fit()
regressor_OLS.summary()
Stosując metodę skróconą, można sprawdzić w jądrze wartości p swoimi zmiennych pisane jako „P> | t |”. Następnie sprawdź, czy zmienna ma najwyższą wartość p . Załóżmy, że x3 ma najwyższą wartość np. 0,956. Następnie usuń tę kolumnę ze swojej tablicy i powtórz wszystkie kroki.
X_opt = X[:,[0,1,3,4]]
regressor_OLS = sm.OLS(endog = y, exog = X_opt).fit()
regressor_OLS.summary()
Powtarzaj te metody, dopóki nie usuniesz wszystkich kolumn, które mają wartość p wyższą niż wartość istotności (np. 0.05). W końcu twoja zmienna X_opt będzie miała wszystkie optymalne zmienne z wartościami p niższymi niż poziom istotności.
'scikits.learn' ma LARS/Lasso, jeśli to jest jakiekolwiek użycie: http://scikit-learn.org/dev/modules/linear_model.html#lars-lasso – NPE
Czy możesz rozwinąć, jakie kryteria chcesz chcesz użyć do wyboru zmiennych predykcyjnych? A jeśli chcesz podać przykład, możesz opublikować lub połączyć się z przykładowymi danymi? – BKay
Nie zaleca się opierać modelu na wartościach p. Są bardziej sprawdzianem poczytalności, a inne kryterium, takie jak AIC lub BIC, są bardziej odpowiednie. –