¿Qué es exactamente el algoritmo de Autocompletar de Excel?

50

¿Cuál es el algoritmo utilizado por Auto Fill en Excel?

Por ejemplo, cuando ingreso los números 3,4,5,7,8 en una columna y luego uso Auto Fill, obtengo el siguiente resultado:

 3
 4
 5
 7
 8
 9.3
10.6
11.9
13.2
14.5
15.8
17.1
18.4
Seçkin Durgay
fuente
2
Excel probablemente verifica el aumento promedio y lo usa para autocompletar. (En su serie aumentó en 1 tres veces y una vez en 2, el promedio es 1.25, redondee a un dígito (como no estoy afiliado a MS no tengo idea de por qué), eso es 1.3, así que aumente el número 1.3 en cada fila.).
Máté Juhász
3
@ MátéJuhász Eso es una buena suposición, y lo que inicialmente pensé. Sin embargo, resulta ser incorrecto. Vea mi respuesta para más detalles.
robinCTS
Una observación es que la diferencia entre los dos últimos valores dados es 1.3, y luego todos los valores autocompletados aumentan en 1.3. La interpretación más simple (pero ahora he aprendido, incorrecta) para este conjunto de datos sería que simplemente repite la última diferencia.
Thomas Padron-McCarthy
@ ThomasPadron-McCarthy En realidad, los dos últimos valores dados son 7 y 8, por lo que la diferencia es 1. El 1.3 es la pendiente calculada de la tendencia lineal, que, como comprobó correctamente, se agrega progresivamente para obtener los valores de autocompletado.
robinCTS

Respuestas:

66

Excel utiliza su enfoque de tendencia lineal cuando se llena automáticamente. Esto emplea el algoritmo del método de mínimos cuadrados .

Este es el mismo algoritmo utilizado por la TREND()función como se ve a continuación:

Captura de pantalla de la hoja de trabajo

Ingrese la siguiente fórmula en C6y ctrl-enter / copy-paste / fill-down en el resto de la columna:

=TREND($C$1:$C$5,$B$1:$B$5,B6)

A continuación se muestra un gráfico que muestra la línea de tendencia en la que se ubican los nuevos valores.

El método de mínimos cuadrados crea una línea de "mejor ajuste" para los puntos de datos originales. Los nuevos puntos de datos se extraen esencialmente de esta línea.

Captura de pantalla del gráfico

robinCTS
fuente
12
No es que dudo de tu respuesta, pero es curioso cómo sabes que usan el método de mínimos cuadrados. (O, en términos más generales, ¿investigó "bajo el capó"? ¿O es común que tales aplicaciones usen este método?)
BruceWayne
77
@BruceWayne sí, es un enfoque común en regresión lineal simple
0xFEE1DEAD
10
@BruceWayne No se requirió ninguna investigación bajo el capó ;-) Se menciona en algunos lugares de la web. Además, la propia documentación de Excel establece que la TREND()función usa "el método de mínimos cuadrados", que, como puede ver, confirmó que produce el mismo resultado que el autocompletado. Entonces, siempre que pueda creer en la propia documentación de Micro $ oft (y ahora todos sabemos cuán preciso es eso), diría que eso lo hace bastante concluyente. Además de lo que dijo 0xFEE1DEAD.
robinCTS
1
Obligatorio video de Joel Spolsky sobre excel. Pase a ~ 8 minutos de una explicación de cómo Excel hace referencia a las celdas, lo cual es útil para definir su propia serie. youtube.com/watch?v=0nbkaYsR94c
Bindelstif