1

为了评估各种输入因子(x、y、z)的贡献及其对响应变量 (A) 的交互作用,我使用 Minitab 中的因子分析计算了方差百分比。现在我想计算 A 的百分比变化。

例如,当 x 和 y 增加时 A 增加,当 z 减少时 A 减少。那么 A 中变化了多少百分比?有没有其他软件可以做这个分析?

请在这方面帮助我。

谢谢。

4

1 回答 1

0

我认为一个简单的回归会为您提供您正在寻找的东西。由于您询问如何对 和 执行此计算RMatlab我将为您提供一个 Matlab 解决方案,因为我可以更好地使用它。

在继续进行数值示例之前,让我们回顾一下理论

当模型中的所有其他预测变量“保持固定”时,拟合线性回归模型可用于识别单个预测变量 xj 和响应变量 y 之间的关系。具体来说,βj 的解释是当其他协变量保持固定时 xj 的一个单位变化时 y 的预期变化——即 y 对 xj 的偏导数的预期值。

基本上,这告诉我们一个单位的变化会xj产生一个βj单位的变化y。为了获得百分比变化,y必须将响应变量转换为对数刻度 ( ln(y))。

现在,让我们看看如何使用Matlab中的回归函数执行线性回归。这很简单:

% Response Variable
A = rand(100,1);

% Predictors
X = randi(10,100,1);
Y = rand(100,1);
Z = randi(3,100,1);

% Beta Coefficients
b = regress(A,[X Y Z]);

现在,为了检索百分比变化而不是单位变化,上述代码必须重写如下(基本上,应用自然对数A并计算百分比变化乘以 beta 系数b100

% Response Variable
A = rand(100,1);
A = log(A);

% Predictors
X = randi(10,100,1);
Y = rand(100,1);
Z = randi(3,100,1);

% Beta Coefficients
b = regress(A,[X Y Z]);

% Percent Changes
pc = b .* 100;

使用任意值,假设返回的 beta 为:

b =

    0.25
   -0.06
    1.33

这意味着:一个单位的变化X产生一个+25%变化A,一个单位的变化Y产生一个-6%变化,A一个单位的变化Z产生一个+133%变化A。百分比变化的解释因预测变量的类型而异,您必须注意这一点。给定响应变量Y和预测变量K

  • 如果K是一个连续变量,则Bk = ∂ln(Y) / ∂K,因此 一个单位的变化会K产生 的100 * Bk百分比变化Y
  • 如果K是连续变量的自然对数,则Bk = ∂ln(Y) / ∂ln(K),因此 的100%变化会K产生 的100 * Bk百分比变化Y
  • 如果是一个虚拟K变量(只有两个可能的值:1 = true0 = falseK01100 * BkY
于 2018-01-27T14:37:12.883 回答