Trouver Optimale Lambda pour de Box-Cox Transformer en R

Je suis en train de transformer les données dans un vecteur de R.

Ce n'est pas pour la régression linéaire donc je n'ai pas un prédicteur et la réponse de la relation. Je suis simplement à l'aide d'un modèle qui permettra d'améliorer la précision en normalisant mes données. (donc je ne peux pas utiliser le boxcox fonction puisqu'il ne fonctionne qu'avec les modèles linéaires).

les données que je suis en train de transformer, c'est:

vect
 [1]  99.64  49.71 246.84  96.17  16.67 352.00 421.25  81.77 105.00  37.85

J'ai regardé ce post.

Il n'était pas clair sur ce qui est fait et comment l'optimiser fonction est utilisée, mais j'ai réussi à modifier la fonction pour créer une fonction que je voudrais minimiser.

xskew <- function(data,par) {
abs(skewness((data^par-1)/par)) }

Je voudrais d'entrée une séquence de valeurs de lambda (peut-être entre 0,5 et 1 avec des sauts de 0,01) et de trouver lequel de ces valeurs minimise xskew pour mon dataset.

J'ai essayé de le faire avec la fonction optim mais avec pas de chance, donc je ne pense pas que cela pourrait être la bonne fonction pour moi.
Comment dois-je effectuer ce calcul?

edit: je voudrais quelque chose le long des lignes de:

 x <- seq(0.51,0.99,by=0.01)
 which(xskew(vect,x) < 0.05)

Alors peut-être que je trouverais une valeur inférieure à un certain seuil. Ce code évidemment produit une erreur.

OriginalL'auteur Michal | 2014-10-28