Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 指数多元回归_R_Regression_Exponential_Multivalue_Multivariate Testing - Fatal编程技术网

R 指数多元回归

R 指数多元回归,r,regression,exponential,multivalue,multivariate-testing,R,Regression,Exponential,Multivalue,Multivariate Testing,所以我有上面的数据集,我要做的是以a*x^b的形式执行指数多变量回归。我尝试在r上使用nls函数,但没有成功。有没有人对如何做到这一点有什么建议。基本上,方程的最终形式应该是y=a1*x1^b1+a2*x2^b2+a3*x3^b3+a4*x4^b4+a5*x5^b5。我需要求解a1、b1、a2、b2、a3、b3、a4、b4、a5、b5变量的a1、b1、a2、b2、a3、b3、a4、b4、a5、b5变量 N x1 x2 x3 x4 x5 y 1 8 7.0 -

所以我有上面的数据集,我要做的是以
a*x^b
的形式执行指数多变量回归。我尝试在r上使用nls函数,但没有成功。有没有人对如何做到这一点有什么建议。基本上,方程的最终形式应该是
y=a1*x1^b1+a2*x2^b2+a3*x3^b3+a4*x4^b4+a5*x5^b5
。我需要求解a1、b1、a2、b2、a3、b3、a4、b4、a5、b5变量的
a1、b1、a2、b2、a3、b3、a4、b4、a5、b5
变量

N   x1  x2  x3      x4  x5      y
1   8   7.0 -148    26  0.54    3768
2   12  4.4 -148    28  0.99    2957
3   12  6.6 -130    26  0.58    3772
4   5   3.0 -73     33  0.49    1134
5   7   6.0 -115    42  0.32    2691
6   13  5.8 -53     26  0.52    2613
7   9   6.2 -64     32  0.86    2425
8   7   5.7 -76     43  0.72    2108
9   15  4.0 -84     33  0.63    2639
10  8   5.1 -68     40  0.34    1846
11  10  5.5 -90     30  0.79    2465
12  13  6.0 -51     26  0.24    2696
13  14  4.0 -95     41  0.63    2592
14  14  4.9 -85     39  0.79    2748
15  15  3.2 -100    28  0.61    2656
16  10  6.7 -51     40  0.29    2715
17  15  5.7 -113    26  0.72    3559
18  5   5.1 -135    29  0.51    2341
19  8   6.8 -106    35  0.22    3169
20  13  3.9 -68     37  0.76    2106
21  10  4.9 -129    26  0.93    2646
22  7   4.1 -55     40  0.58    1294
23  7   6.9 -86     38  0.31    2932
24  11  6.7 -85     38  0.44    3214
25  14  4.7 -133    31  0.30    3203
26  9   5.7 -128    25  0.74    2859
27  7   3.1 -111    33  0.61    1709
28  6   4.1 -51     34  0.52    1168
29  9   3.4 -124    27  0.38    2088
30  9   4.0 -118    28  0.29    2146
然后用起始值运行
optim
函数

min.RSS_2 <- function(data, par){
  with(data, sum((par[1]*x1^par[2] + par[3]*x2^par[4] - y)^2))

}
你可以在图上看到这一点

result$par
$par
[1]  973.4197484    0.4210558  250.6697196 -645.7000012

仅针对x1和x2的参数示例如下

N   x1  x2  x3      x4  x5      y
1   8   7.0 -148    26  0.54    3768
2   12  4.4 -148    28  0.99    2957
3   12  6.6 -130    26  0.58    3772
4   5   3.0 -73     33  0.49    1134
5   7   6.0 -115    42  0.32    2691
6   13  5.8 -53     26  0.52    2613
7   9   6.2 -64     32  0.86    2425
8   7   5.7 -76     43  0.72    2108
9   15  4.0 -84     33  0.63    2639
10  8   5.1 -68     40  0.34    1846
11  10  5.5 -90     30  0.79    2465
12  13  6.0 -51     26  0.24    2696
13  14  4.0 -95     41  0.63    2592
14  14  4.9 -85     39  0.79    2748
15  15  3.2 -100    28  0.61    2656
16  10  6.7 -51     40  0.29    2715
17  15  5.7 -113    26  0.72    3559
18  5   5.1 -135    29  0.51    2341
19  8   6.8 -106    35  0.22    3169
20  13  3.9 -68     37  0.76    2106
21  10  4.9 -129    26  0.93    2646
22  7   4.1 -55     40  0.58    1294
23  7   6.9 -86     38  0.31    2932
24  11  6.7 -85     38  0.44    3214
25  14  4.7 -133    31  0.30    3203
26  9   5.7 -128    25  0.74    2859
27  7   3.1 -111    33  0.61    1709
28  6   4.1 -51     34  0.52    1168
29  9   3.4 -124    27  0.38    2088
30  9   4.0 -118    28  0.29    2146
然后用起始值运行
optim
函数

min.RSS_2 <- function(data, par){
  with(data, sum((par[1]*x1^par[2] + par[3]*x2^par[4] - y)^2))

}
你可以在图上看到这一点

result$par
$par
[1]  973.4197484    0.4210558  250.6697196 -645.7000012

因此,您需要一个带有所有参数的起始值的
nls
start=c(a1=…,a2=…)
。很难精确地计算方程的起始值,我不知道这个函数是否合适,因为我从未见过有这么多参数的方程sx3有负值,并且不能将负的非整数值提高到幂次方。因此,需要一个
nls
和所有参数ex
start=c的起始值(a1=…,a2=…)
。可能很难精确地计算方程的起始值,我不知道这个函数是否合适,因为我从未见过有这么多参数的方程sx3有负值,并且不能将负的非整数值提高到幂次方。我如何计算出5的起始值,所以a1*x1^b1+a2*x2^b2等等s和错误以及对函数行为的认识我尝试使用日志查找起始值,但仍然没有成功,我始终得到“评估模型时产生的缺失值或无穷大”这意味着起始值是错误的。正如我所写的,我怀疑你能否找到如此复杂模型的起始值。最好的解决方案是找出因变量的响应,尝试文献中提出的不同函数,然后拟合模型。看看这里的答案是否对你有帮助,ackKnowledge Please我如何计算出5的起始值,因此a1*x1^b1+a2*x2^b2等。我通过尝试和错误以及对函数行为的认识来计算。我尝试使用日志查找起始值,但仍然没有运气,我始终得到“评估模型时产生的缺失值或无穷大”这意味着起始值是错误的。正如我所写的,我怀疑你能否找到如此复杂模型的起始值。最好的解决方案是找出因变量的响应,尝试文献中提出的不同函数,然后拟合模型。看看这里的答案是否对你有帮助,ack谢谢