【问题标题】:How do we run a linear regression with the given data?我们如何使用给定的数据进行线性回归?
【发布时间】:2019-10-01 19:30:48
【问题描述】:

我们有一个包含 26 个品牌的大型数据集,在 399 周期间在 93 家商店销售。品牌仍分为子品牌(例如:品牌 = 高露洁,但子品牌 (556) 仍然存在:高露洁优质白/高露洁额外等) 我们为每个子品牌计算了每周商店级别的品牌共享价格: 计算:(每周每个子品牌和每个商店的每盎司移动量)除以(每周每个商店针对一个品牌的子品牌每盎司移动量的总和)*(每个子品牌每周在商店级别的每盎司价格对数)

一切正常!我们创建了一个包含所有详细计算的数据框(数据 = 牙齿 4) 我们最终的兴趣是运行线性回归来预测价格对移动变量的影响 --> 现在的问题是销售变量(一个虚拟变量,表示特定商店的特定子品牌在特定周内是否有促销活动)处于子品牌级别 --> 我们尝试在子品牌级别(变量 = 描述)进行回归,但由于大数据,它不起作用

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

有没有人有一个解决方案,如何只在品牌层面进行回归,但包括促销变量? 我们得到一个提示,我们可以计算每个商店的每个品牌的共享促销价值?但是怎么做? 另一个问题,假设我的回归是正确的/部分正确 - 我如何加权结果以仅在商店级别而不是每周商店级别获得结果?

提前谢谢你!!!

【问题讨论】:

  • 欢迎来到 SO。请阅读how to askHow to make a great R reproducible example。目前,如果没有错误消息、代码示例或任何类似的东西,要帮助您并不容易。
  • 这似乎是一个概念性统计问题,而不是编程问题。我认为这对于 Stack Overflow 来说是题外话,更适合 stats.stackexchange 或 datascience.stackexchange
  • 你是什么意思“有没有人有解决方案如何只在品牌层面运行回归但包括促销变量?”没有数据是模棱两可的。

标签: r linear-regression


【解决方案1】:

我们得到提示,我们可以计算每个品牌在每个商店的促销共享价值?但是怎么做呢?

这被称为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/ 上提问。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-11
    • 2013-10-23
    • 2018-07-31
    • 1970-01-01
    • 2017-02-04
    • 2021-12-20
    • 2019-01-06
    • 2018-02-03
    相关资源
    最近更新 更多