O que exatamente é o algoritmo de preenchimento automático do Excel?

50

Qual é o algoritmo usado pelo preenchimento automático no Excel?

Por exemplo, quando insiro os números 3,4,5,7,8 em uma coluna e depois uso o Preenchimento automático, obtenho o seguinte 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
fonte
2
O Excel provavelmente verifica o aumento médio e o usa para preenchimento automático. (Na sua série, você aumentou 1 três vezes e, uma vez em 2, a média é 1,25, arredondar para um dígito (como eu não sou afiliado ao MS, não tenho idéia do porquê), isso é 1,3, então aumente o número 1,3 em cada linha.).
Máté Juhász
3
@ MátéJuhász Esse é um bom palpite, e o que eu pensava inicialmente. No entanto, parece estar incorreto. Veja minha resposta para mais detalhes.
robinCTS
Uma observação é que a diferença entre os dois últimos valores fornecidos é 1,3 e, em seguida, todos os valores preenchidos automaticamente aumentam em 1,3. A interpretação mais simples (mas, agora aprendi, incorretamente) para esse conjunto de dados seria que apenas repita a última diferença.
Thomas Padron-McCarthy
@ ThomasPadron-McCarthy Na verdade, os dois últimos valores fornecidos são 7 e 8, portanto a diferença é 1. O 1,3 é a inclinação da tendência linear calculada, que, como você verificou corretamente, é progressivamente adicionada para obter os valores preenchidos automaticamente.
robinCTS

Respostas:

66

O Excel usa sua abordagem Tendência Linear ao preencher automaticamente. Isso emprega o algoritmo do método dos mínimos quadrados .

Este é o mesmo algoritmo usado pela TREND()função, como demonstrado abaixo:

Captura de tela da planilha

Digite a seguinte fórmula em C6e ctrl-enter / copy-paste / fill-down no restante da coluna:

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

Abaixo está um gráfico mostrando a linha de tendência em que os novos valores se enquadram.

O método dos mínimos quadrados cria uma linha de "melhor ajuste" para os pontos de dados originais. Os novos pontos de dados são essencialmente extraídos dessa linha.

Captura de tela do gráfico

robinCTS
fonte
12
Não que eu duvide da sua resposta, mas apenas curioso como você sabe que eles usam o método dos mínimos quadrados. (Ou, mais amplamente, você fez alguma investigação "sob o capô" Ou é comum para tais aplicações para usar este método?)
BruceWayne
7
@BruceWayne sim, é uma abordagem comum em regressão linear simples
0xFEE1DEAD
10
@BruceWayne Nenhuma investigação foi necessária ;-) Ela é mencionada em alguns lugares na web. Além disso, a própria documentação do Excel afirma que a TREND()função usa "o método dos mínimos quadrados", que, como você pode ver, confirmei, produz o mesmo resultado que o preenchimento automático. Portanto, desde que você possa acreditar na própria documentação da Micro $ (e todos nós agora somos precisos), eu diria que isso a torna bastante conclusiva. Além do que 0xFEE1DEAD disse.
robinCTS
11
Obrigatório vídeo de Joel Spolsky sobre o excel. Pule para ~ 8 minutos de uma explicação de como o Excel faz referência às células, o que é útil para definir suas próprias séries. youtube.com/watch?v=0nbkaYsR94c
Bindelstif