我们有一个包含26个品牌的大型数据集,在93家门店销售,在399周内销售。这些品牌仍然分为子品牌(f.ex.:brand =高露洁),但子品牌(556)仍然存在:高露洁优质白酒/高露洁额外等。我们为每个子品牌计算了每周商店级别的品牌共享价格:计算:(每个子品牌和每个商店每周的每盎司移动)除以(子品牌每盎司移动的总和,每个单独商店每周引用一个品牌)*(每周商店级别每个子品牌的日志价格)
一切都成功了!我们创建了一个包含所有详细计算的数据框架(data = tooth4)我们的最终兴趣是运行线性回归来预测价格对移动变量的影响-->现在的问题是销售变量(一个虚拟变量,表示特定商店中的特定子品牌在特定周是否有促销活动)位于子品牌级别-->我们尝试在子品牌级别运行回归(变量= descrip),但由于大数据而无法工作
lm(formula = logmove_ounce ~ log_wei_price_ounce + descrip - 1 *
(log_wei_price_ounce) + sale - 1, data = tooth4)
logmove_ounce = log of weekly subbrand based move on store level
log_wei_price_ounce = weighted subbrand based price for each store for each week
sale-1 = fixed effect for promotion
descrip-1 = fixed effect for subbrand有没有人有一个解决方案,如何只在品牌层面上运行回归,但包括促销变量?我们得到了一个提示,我们可以计算每个商店上每个品牌的促销共享价值?但是怎么做呢?另一个问题,假设我的回归是正确的/部分正确的--我如何对结果进行加权,以获得仅在商店级别而不是每周商店级别的结果?
提前感谢您!
发布于 2019-05-15 03:16:43
我们得到了一个提示,我们可以计算每个商店上每个品牌的促销共享价值?但是怎么做呢?
这被不同地称为multilevel model, a nested model, hierarchical model, mixed model, or random-effect model,它们都是相同的数学模型。它广泛用于分析您所描述的那种纵向面板数据。关于这个主题的一本严肃的书是Gelman.
R中最常见的方法是使用lme4包中的lmer()函数。如果您正在对非常庞大的数据使用lme4,那么您应该阅读他们的performance tips.
lmer()模型接受略有不同的公式语法,我将对其进行简要描述,以便您可以了解它如何解决您遇到的问题。
例如,让我们假设我们将未来的工资建模为某些学生的GPA和IQ的函数。我们知道学生来自某些学校,所以所有去同一所学校的学生都是一个组的一部分,学校又被分成县、州。此外,学生在不同的年份毕业,这可能会产生影响。这是一个通用的示例,但我之所以选择它,是因为它与您自己的纵向面板数据具有许多相同的特征。
我们可以使用广义公式语法来指定具有不同截距的组:
lmer(salary ~ gpa + iq + (1|school), data=df)此类组的嵌套层次结构:
lmer(salary ~ gpa + iq + (1|state/county/school), data=df)或分组变化的斜率来捕获超时变化:
lmer(salary ~ gpa + iq + (1 + year|school), data=df)您必须自己决定如何对数据建模,但是在处理组和级别方面,lme4::lmer()将提供比lm()更大的工具箱。如果你有关于建模方面的问题,我建议你在https://stats.stackexchange.com/上提问。
https://stackoverflow.com/questions/56136047
复制相似问题