广义可加模型(Generalized Additive Model,GAM)是一种强大的统计建模工具,用于分析非线性关系和非线性变量之间的关系。
通过将因变量与一系列光滑的非线性函数(基函数)相关联,以更好地捕捉数据中的复杂模式。
假设我们正在研究某家电商公司的销售数据,想要理解销售额与广告投入、季节性因素和产品价格之间的关系。
使用GAM来建立一个预测销售额的模型,并探索这些因素对销售额的影响。
首先,准备销售数据集,包括销售额、广告投入、季节性因素和产品价格。
然后,使用Python中的pygam库来构建和训练GAM模型。
import numpy as np
from pygam import LinearGAM, s
定义并赋值数据
advertising = np.array([10, 20, 30, 40, 50])
seasonality = np.array([0.5, 0.8, 1.2, 0.9, 1.5])
price = np.array([50, 45, 40, 35, 30])
sales = np.array([100, 150, 200, 180, 250])
X_names = [‘Advertising’, ‘Seasonality’, ‘Price’]
创建GAM模型
X = np.array([advertising, seasonality, price]).T
y = sales
gam = LinearGAM(s(0) + s(1) + s(2))
gam.gridsearch(X, y)