J'ai deux grands ensembles de données dans R, l'un des mesures réelles et l'une des prédictions que j'ai faites pour ces mesures. J'ai trouvé que les tendances de mes prédictions étaient exactes, mais l'amplitude était éteinte. Je me demande s'il existe un moyen de trouver une constante dans R qui, lorsque les prédictions sont multipliées par la constante, minimise l'erreur entre les réels et les prédictions.Comment puis-je minimiser l'erreur entre les estimations et les données réelles en multipliant par une constante (en R)?
Par exemple:
predictions <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
actuals <- c(2, 4, 6, 8, 10, 12, 14, 16, 18, 20)
La constante Je veux générer dans ce cas serait 2.
J'ai regardé en utilisant la fonction optim(), mais le message d'avertissement " l'optimisation unidimensionnelle par Nelder-Mead n'est pas fiable: utilisez 'Brent' ou optimize() directement. " Je ne suis pas familier avec l'optimisation, il est donc probable que j'aborde ce problème de la mauvaise façon. J'apprécie l'aide!
Si vous ajoutez '+ 0' à la formule, il ne correspondra pas à une interception, donc il n'y aura qu'un seul coefficient multipliant les 'prédictions' (c'est-à-dire ce que l'OP a demandé). – Gregor
Bon point, OP a mis cela comme une condition préalable. (J'utilise -1 pour me débarrasser de l'interception, je ne savais pas que +0 a réalisé la même chose). Notez que vous pouvez jouer avec la formule, par exemple, reals ~ predictions + predictions^2). Essentiellement, vous essayez de deviner la relation mathématique. – rdodhia