Teóricamente no importa, como demostró @Adam Bailey (siempre que se ignore la teoría informática).
Siendo realistas, importa bastante por al menos dos razones:
-
¿cómo interpreta su coeficiente? Como ser humano, ¿prefiere escuchar que hay 1,2 universidades por cada millón de habitantes en una ciudad, o le resulta más fácil comprender que hay 0,000001 por persona? Personalmente, esto último me parece bastante desolador. La mayoría de las veces (por ejemplo google camas de hospital per cápita ), los valores reportados serán escalados a algo que los humanos puedan comprender.
-
Como señaló @BrsG, los ordenadores pueden ser su enemigo aquí. Utilizan predominantemente la matemática de punto flotante (y si tratas con números grandes, la aritmética de enteros también te morderá). Esto puede ser un poco esotérico sin ejemplos, pero se puede mostrar rápidamente con el código. Respondí a una pregunta sobre si el "la función de valor futuro está rota" hace algún tiempo que está relacionado con esto. Sin embargo, probablemente sea mejor utilizar un ejemplo de regresión real.
Utilizaré lo más sencillo posible y me limitaré a copiar y pegar de la OLS de Wikipedia ejemplo . Uno puede pensar que OLS será OLS, sin importar la implementación o el lenguaje que se utilice, pero eso no es generalmente cierto. Las estimaciones por mínimos cuadrados cumplen la condición de que el residuo es ortogonal a las columnas de $\mathbf{X}$ . $$ \mathbf{X^\prime (y - X\widehat{\beta})} = \mathbf{0} $$ que puede reescribirse como $$ \mathbf{X^\prime X}\widehat{\mathbf{\beta}}=\mathbf{X^\prime y} $$ Resolver para $\beta$ proporciona las fórmulas estándar de los libros de texto para la estimación por mínimos cuadrados calculada como $$ \widehat{\mathbf{\beta}}=\mathbf{X^\prime X}^{-1}\mathbf{X^\prime y}. $$
Decidí utilizar Julia porque es un lenguaje muy flexible y de lectura intuitiva, incluso si no se está familiarizado con el propio lenguaje.
# manually create the data from the Wikipedia example
using DataFrames, GLM, LinearAlgebra
height = [1.47,1.50,1.52,1.55,1.57,1.60,1.63,1.65,1.68,1.70,1.73,1.75,1.78,1.80,1.83]
weight = [52.21,53.12,54.48,55.84,57.20,58.57,59.93,61.29,63.11,64.47,66.28,68.10,69.92,72.19,74.46]
data = DataFrame(weight=weight,height=height, height2 = height.^2)
El ejemplo simple de la Wiki es así:
Si no quiere un paquete, sino que prefiere la vieja forma manual, puede utilizar varios procedimientos. La forma habitual de definir una operación de "división" para matrices es definir $A / B =