説明変数をすべて考慮して、回帰分析してみて

2024年6月17日

上記の説明変数をすべて考慮して回帰分析を行う場合、多変量回帰分析を実施することになります。以下は、Pythonのscikit-learnライブラリを使用して多変量回帰分析を行うサンプルコードです。ただし、実際のデータセットには調整が必要です。以下のコードは、概念的な例を示すものです。

python
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

# ダミーデータの生成
np.random.seed(0)
n_samples = 1000
X = np.random.rand(n_samples, 5)  # 5つの説明変数
seasonality = np.sin(np.arange(n_samples) / 100)  # 季節要因
marketing_activity = np.random.rand(n_samples)  # マーケティング活動
competition = np.random.rand(n_samples)  # 競合情報
economic_indicators = np.random.rand(n_samples)  # 経済指標
demographic_info = np.random.rand(n_samples, 3)  # デモグラフィック情報

# 説明変数を結合
X = np.column_stack((X, seasonality, marketing_activity, competition, economic_indicators, demographic_info))

# ダミーの目的変数を生成(ランダムな値)
y = np.random.rand(n_samples)

# データフレームに変換
df = pd.DataFrame(X, columns=['X1', 'X2', 'X3', 'X4', 'X5', 'Seasonality', 'Marketing_Activity', 'Competition', 'Economic_Indicators', 'Demographic_Info_1', 'Demographic_Info_2', 'Demographic_Info_3'])
df['Target'] = y

# トレーニングデータとテストデータに分割
X_train, X_test, y_train, y_test = train_test_split(df.drop('Target', axis=1), df['Target'], test_size=0.2, random_state=42)

# 線形回帰モデルの作成とトレーニング
model = LinearRegression()
model.fit(X_train, y_train)

# テストデータでの予測と評価
y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
print("Mean Squared Error:", mse)

このコードでは、5つの説明変数(X1~X5)、季節要因、マーケティング活動、競合情報、経済指標、および3つのデモグラフィック情報を含むダミーデータセットを生成し、それらを使用して多変量回帰モデルをトレーニングしています。 トレーニングされたモデルを使用してテストデータで予測を行い、平均二乗誤差(MSE)を計算しています。

未分類

Posted by ぼっち