補間と外挿
メニューを表示するにはスワイプしてください
前の章では、異なるモデルを使用した予測が端の部分でより多様になっていることに気付きました。
予測は、トレーニングデータの範囲外に移動すると信頼性が低くなります。その範囲を超えて予測することは外挿(extrapolation)、範囲内で予測することは**内挿(interpolation)**です。
回帰分析は外挿をうまく扱うことができません。内挿に使用され、新しいインスタンスがトレーニングセットの範囲外にある場合、不合理な予測を生じることがあります。
信頼区間
OLS は回帰直線の信頼区間も返すことが可能。
lower = model.get_prediction(X_new_tilde).summary_frame(alpha)['mean_ci_lower']
upper = model.get_prediction(X_new_tilde).summary_frame(alpha)['mean_ci_upper']
alpha は信頼水準(通常は 0.05)。これにより、X_new_tilde の各値に対する下限と上限が得られる。
回帰直線とその信頼区間を一緒にプロットすることができる。
12345678910111213141516171819202122import pandas as pd import numpy as np import matplotlib.pyplot as plt import statsmodels.api as sm from sklearn.preprocessing import PolynomialFeatures # Import PolynomialFeatures class file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/poly.csv' df = pd.read_csv(file_link) n = 4 # A degree of the polynomial regression X = df[['Feature']] # Assign X as a DataFrame y = df['Target'] # Assign y X_tilde = PolynomialFeatures(n).fit_transform(X) # Get X_tilde regression_model = sm.OLS(y, X_tilde).fit() # Initialize and train the model X_new = np.linspace(-0.1, 1.5, 80) # 1-d array of new feature values X_new_tilde = PolynomialFeatures(n).fit_transform(X_new.reshape(-1,1)) # Transform X_new for predict() method y_pred = regression_model.predict(X_new_tilde) lower = regression_model.get_prediction(X_new_tilde).summary_frame(0.05)['mean_ci_lower'] # Get lower bound for each point upper = regression_model.get_prediction(X_new_tilde).summary_frame(0.05)['mean_ci_upper'] # get upper bound for each point plt.scatter(X, y) # Build a scatterplot plt.plot(X_new, y_pred) # Build a Polynomial Regression graph plt.fill_between(X_new, lower, upper, alpha=0.4) plt.show()
ターゲットの真の分布が不明なため、回帰直線はあくまで近似となる。信頼区間は、真の直線が存在する可能性が高い範囲を示す。トレーニングデータから離れるほど、この区間は広がる。
注意
信頼区間は、モデル(例:単回帰分析や4次の多項式回帰)が正しく選択されていることを前提に構築される。
モデルの選択が不適切な場合、信頼区間は信頼できず、回帰直線自体も信頼できない。最適なモデルの選択方法については、次のセクションで学習する。
すべて明確でしたか?
フィードバックありがとうございます!
セクション 1. 章 14
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 1. 章 14