Chính xác thì thuật toán Auto Fill của Excel là gì?


50

Thuật toán được sử dụng bởi Auto Fill trong Excel là gì?

Ví dụ: khi tôi nhập các số 3,4,5,7,8 vào một cột và sau đó sử dụng Tự động điền, tôi nhận được kết quả sau:

 3
 4
 5
 7
 8
 9.3
10.6
11.9
13.2
14.5
15.8
17.1
18.4

2
Excel có thể kiểm tra mức tăng trung bình và sử dụng mức đó để tự động điền. (Trong chuỗi của bạn, bạn tăng 1 ba lần và một lần 2, trung bình là 1,25, làm tròn nó thành một chữ số (vì tôi không liên kết với MS. hàng.).
Máté Juhász

3
@ MátéJuhász Đó là một phỏng đoán tốt, và những gì tôi nghĩ ban đầu. Tuy nhiên hóa ra là không chính xác. Xem câu trả lời của tôi để biết thêm chi tiết.
robinCTS

Một quan sát là sự khác biệt giữa hai giá trị đã cho cuối cùng là 1,3 và sau đó tất cả các giá trị được điền tự động đều tăng 1,3. Cách giải thích đơn giản nhất (nhưng, giờ tôi đã học được, sai) cho tập dữ liệu này sẽ là nó chỉ lặp lại sự khác biệt cuối cùng.
Thomas Padron-McCarthy

@ ThomasPadron-McCarthy Trên thực tế, hai giá trị đã cho cuối cùng là 7 và 8, do đó, sự khác biệt là 1. 1.3 là độ dốc Tuyến tính được tính toán, như bạn đã xác định chính xác, sau đó được thêm dần dần để có được các giá trị được điền tự động.
robinCTS

Câu trả lời:


66

Excel sử dụng cách tiếp cận Xu hướng tuyến tính khi bạn tự động điền. Điều này sử dụng thuật toán phương pháp bình phương nhỏ nhất .

Đây là thuật toán tương tự được sử dụng bởi TREND()hàm như được trình bày dưới đây:

Ảnh chụp màn hình trang tính

Nhập công thức sau vào C6và ctrl-enter / copy-paste / điền vào phần còn lại của cột:

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

Dưới đây là biểu đồ hiển thị đường xu hướng mà các giá trị mới rơi vào.

Phương pháp bình phương nhỏ nhất tạo ra một dòng "phù hợp nhất" cho các điểm dữ liệu gốc. Các điểm dữ liệu mới về cơ bản được trích xuất từ ​​dòng này.

Biểu đồ Ảnh chụp màn hình


12
Không phải tôi nghi ngờ câu trả lời của bạn, mà chỉ tò mò làm thế nào bạn biết họ sử dụng phương pháp bình phương nhỏ nhất. (Hoặc, phạm vi rộng hơn, bạn đã làm một số điều tra "under the hood" Hoặc là nó phổ biến cho các ứng dụng như vậy để sử dụng phương pháp này?)
BruceWayne

7
@BruceWayne vâng, đó là một cách tiếp cận phổ biến trong hồi quy tuyến tính đơn giản
0xFEE1DEAD

10
@BruceWayne Không cần điều tra dưới mui xe ;-) Nó được đề cập ở một vài nơi trên web. Thêm vào đó, tài liệu riêng của Excel nói rằng TREND()hàm sử dụng "phương pháp bình phương tối thiểu", như bạn có thể thấy, tôi đã xác nhận tạo ra kết quả tương tự như tự động điền. Vì vậy, với điều kiện bạn có thể tin rằng tài liệu riêng của Micro $ oft (và tất cả chúng ta bây giờ chính xác đến mức nào) tôi sẽ nói rằng điều đó làm cho nó khá kết luận. Cộng với những gì 0xFEE1DEAD đã nói.
robinCTS


1
Video bắt buộc Joel Spolsky về excel. Bỏ qua ~ 8 phút giải thích về cách Excel tham chiếu các ô, rất hữu ích để xác định chuỗi của riêng bạn. youtube.com/watch?v=0nbkaYsR94c
Bindelstif
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.