En quoi consiste exactement l'algorithme Auto Fill d'Excel?

50

Quel est l'algorithme utilisé par Auto Fill dans Excel?

Par exemple, lorsque je saisis les chiffres 3,4,5,7,8 dans une colonne, puis que j'utilise Remplissage automatique, le résultat suivant est obtenu:

 3
 4
 5
 7
 8
 9.3
10.6
11.9
13.2
14.5
15.8
17.1
18.4
Seçkin Durgay
la source
2
Excel vérifie probablement l’augmentation moyenne et l’utilise pour le remplissage automatique. (Dans votre série, vous avez multiplié par 1 trois fois et une fois par 2, la moyenne est de 1,25, arrondissez-la à un chiffre (comme je ne suis pas affilié à MS, je ne sais pas pourquoi), cela fait 1,3, augmentez donc le nombre de 1,3 dans chaque rangée.).
Máté Juhász
3
@ MátéJuhász C'est une bonne supposition, et ce que je pensais au départ. Cependant, cela s'avère être incorrect. Voir ma réponse pour plus de détails.
robinCTS
Une observation est que la différence entre les deux dernières valeurs données est de 1,3, puis que les valeurs remplies automatiquement augmentent toutes de 1,3. L’interprétation la plus simple (mais, j’ai appris, mal) pour cet ensemble de données serait qu’elle ne fait que répéter la dernière différence.
Thomas Padron-McCarthy
@ ThomasPadron-McCarthy En fait, les deux dernières valeurs données sont 7 et 8, la différence est donc 1. 1.3 est la pente de tendance linéaire calculée, qui, comme vous l'avez correctement déterminé, est ensuite ajoutée progressivement pour obtenir les valeurs remplies automatiquement.
robinCTS

Réponses:

66

Excel utilise son approche de tendance linéaire lorsque vous remplissez automatiquement. Ceci utilise l' algorithme de la méthode des moindres carrés .

C'est le même algorithme utilisé par la TREND()fonction, comme illustré ci-dessous:

Capture d'écran de la feuille de travail

Entrez la formule suivante dans C6ctrl-enter / copier / coller / remplir dans le reste de la colonne:

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

Le graphique ci-dessous montre la courbe de tendance sur laquelle les nouvelles valeurs tombent.

La méthode des moindres carrés crée une ligne de "meilleur ajustement" pour les points de données d'origine. Les nouveaux points de données sont essentiellement extraits de cette ligne.

Capture d'écran du graphique

robinCTS
la source
12
Non pas que je doute de votre réponse, mais simplement curieux de savoir comment vous savez qu'ils utilisent la méthode des moindres carrés. (Ou, plus généralement, avez-vous mené une enquête "sous le capot"? Ou est-il courant que de telles applications utilisent cette méthode?)
BruceWayne
7
@BruceWayne oui, c'est une approche commune dans la régression linéaire simple
0xFEE1DEAD
10
@BruceWayne Aucune enquête sous le capot n'a été nécessaire ;-) Il est mentionné à quelques endroits sur le Web. De plus, la propre documentation d'Excel indique que la TREND()fonction utilise "la méthode des moindres carrés", ce qui, comme vous pouvez le constater, a le même résultat que le remplissage automatique. Donc, à condition que vous puissiez croire la propre documentation de Micro $ oft (et nous savons maintenant à quel point elle est exacte), je dirais que cela la rend assez concluante. Plus ce que 0xFEE1DEAD a dit.
robinCTS
7
La documentation Excel confirme que le fait de faire glisser la poignée de
recopie
1
Vidéo obligatoire de Joel Spolsky sur Excel. Passez à environ 8 minutes d’une explication de la manière dont Excel fait référence aux cellules, ce qui est utile pour définir votre propre série. youtube.com/watch?v=0nbkaYsR94c
Bindelstif le