【发布时间】:2014-12-24 09:41:42
【问题描述】:
我正在尝试在 R 中转换向量中的数据。
这不适用于线性回归,因此我没有预测变量和响应关系。我只是使用一个模型,通过规范化我的数据来提高准确性。 (因此我不能使用 boxcox 函数,因为它只适用于线性模型)。
我要转换的数据是:
vect
[1] 99.64 49.71 246.84 96.17 16.67 352.00 421.25 81.77 105.00 37.85
我看过这个post。
不清楚正在做什么以及如何使用优化功能,但我确实设法修改了该功能以创建一个我想最小化的功能。
xskew <- function(data,par) {
abs(skewness((data^par-1)/par)) }
我想为 lambda 输入一系列值(可能介于 0.5 和 1 之间,跳跃为 0.01)并找出其中哪个值最小化了我的数据集的 xskew。
我曾尝试使用 optim 函数执行此操作,但没有运气,所以我认为这可能不是适合我的函数。 如何执行此计算?
编辑:我想要一些类似的东西:
x <- seq(0.51,0.99,by=0.01)
which(xskew(vect,x) < 0.05)
所以也许我会找到一个低于某个阈值的值。这段代码显然会产生错误。
【问题讨论】:
标签: r optimization normalization