Làm thế nào để các kỹ thuật thống kê khác nhau (hồi quy, PCA, v.v.) quy mô với kích thước và kích thước mẫu?


10

Có một bảng chung về các kỹ thuật thống kê giải thích cách chúng chia tỷ lệ với kích thước và kích thước mẫu không? Ví dụ, một người bạn của tôi đã nói với tôi vào một ngày khác rằng thời gian tính toán đơn giản là sắp xếp nhanh dữ liệu một chiều có kích thước n là n * log (n).

Vì vậy, ví dụ, nếu chúng ta hồi quy y với X trong đó X là biến thứ nguyên d, nó có phải là O (n ^ 2 * d) không? Làm thế nào để mở rộng quy mô nếu tôi muốn tìm giải pháp thông qua giải pháp Gauss-Markov chính xác so với bình phương tối thiểu bằng số với phương pháp Newton? Hoặc đơn giản là nhận được giải pháp vs sử dụng các bài kiểm tra quan trọng?

Tôi đoán rằng tôi muốn có một nguồn câu trả lời tốt (như một bài viết tóm tắt tỷ lệ của các kỹ thuật thống kê khác nhau) hơn là một câu trả lời hay ở đây. Giống như, giả sử, một danh sách bao gồm thang đo của hồi quy bội, hồi quy logistic, PCA, hồi quy nguy cơ theo tỷ lệ cox, phân cụm K-nghĩa, v.v.


Đây là một câu hỏi hay. Rất nhiều sách thống kê nói về các khía cạnh lý thuyết của dữ liệu chiều cao và không phải là các khía cạnh tính toán.
Shadowtalker

Trong nhiều trường hợp, các tài liệu gốc sẽ thảo luận về sự phức tạp. Nhưng thường phức tạp về mặt lý thuyết là vô ích. QuickSort có trường hợp xấu nhất là O (n ^ 2), nhưng thường là nhanh nhất - nhanh hơn HeapSort, trường hợp xấu nhất là O (n log n). Nếu bạn thực hiện một nghiên cứu nhỏ, bạn sẽ tìm ra kết quả phức tạp cho nhiều thuật toán - nếu biết. Ví dụ: PCA là O (nd ^ 3), k-có nghĩa là O (nkid), v.v.
Có QUIT - Anony-Mousse

Câu trả lời:


6

Hầu hết các thuật toán thống kê hiệu quả (và không tầm thường) đều có tính lặp đi lặp lại do đó phân tích trường hợp xấu nhất O()là không liên quan vì trường hợp xấu nhất là 'nó không hội tụ'.

Tuy nhiên, khi bạn có nhiều dữ liệu, ngay cả các thuật toán tuyến tính ( O(n)) cũng có thể bị chậm và sau đó bạn cần tập trung vào hằng số 'ẩn' đằng sau ký hiệu. Ví dụ, tính toán phương sai của một phương sai duy nhất được thực hiện một cách ngây thơ khi quét dữ liệu hai lần (một lần để tính toán ước tính trung bình và sau đó một lần để ước tính phương sai). Nhưng nó cũng có thể được thực hiện trong một lần .

Đối với các thuật toán lặp, điều quan trọng hơn là tốc độ hội tụ và số lượng tham số là một hàm của thứ nguyên dữ liệu, một yếu tố ảnh hưởng lớn đến sự hội tụ. Nhiều mô hình / thuật toán phát triển một số tham số theo cấp số nhân với số lượng biến (ví dụ: spline) trong khi một số khác phát triển tuyến tính (ví dụ: máy vectơ hỗ trợ, rừng ngẫu nhiên, ...)


Tôi không chắc chắn tôi đồng ý với điều này: khi thiết kế một thuật toán cho một vấn đề thống kê, rất nhiều mối quan tâm đi vào sự phức tạp của từng bước lặp (và thường được ghi lại trong một bản thảo). Nhưng như bạn chỉ ra, thường thì không dễ để tóm tắt, vì hai thuật toán có cùng độ phức tạp trên mỗi lần lặp có thể thực hiện rất khác nhau do các lần lặp cần thiết. Điều đó đang được nói, rất hiếm khi số lần lặp yêu cầu tăng nhanh hơn O(log(n) ).
Vách đá AB

5

Bạn đã đề cập đến hồi quy và PCA trong tiêu đề, và có một câu trả lời chắc chắn cho từng câu hỏi.

Độ phức tạp tiệm cận của hồi quy tuyến tính giảm xuống O (P ^ 2 * N) nếu N> P, trong đó P là số lượng tính năng và N là số lượng quan sát. Chi tiết hơn về độ phức tạp tính toán của phép toán hồi quy vuông nhỏ nhất .

Vanilla PCA là O (P ^ 2 * N + P ^ 3), như trong thuật toán PCA nhanh nhất cho dữ liệu chiều cao . Tuy nhiên, các thuật toán nhanh tồn tại cho các ma trận rất lớn, được giải thích trong câu trả lời đó và Thuật toán PCA tốt nhất cho số lượng lớn các tính năng? .

Tuy nhiên, tôi không nghĩ rằng bất kỳ ai đã biên soạn một bài đánh giá hoặc tài liệu tham khảo hoặc sách về chủ đề này. Có thể không phải là một dự án tồi cho thời gian rảnh của tôi ...


Cảm ơn, điều đó rất hữu ích! Nếu bạn thực hiện đánh giá tài liệu cho các kỹ thuật mô hình dự đoán khác nhau, tôi chắc chắn rằng nó sẽ được tham khảo rất nhiều. Nó sẽ rất hữu ích cho những người muốn phân biệt giữa các thuật toán sẽ sử dụng trong trường hợp n lớn hoặc p lớn hoặc cho các giá trị trung bình của các thuật toán để tính toán chính xác hơn. Bạn có tình cờ biết làm thế nào một số quy mô kỹ thuật tối nghĩa hơn? (Giống như hồi quy nguy cơ theo tỷ lệ Cox hoặc phân tích nhân tố xác nhận)
Bridrideurners

Thật không may là không, nhưng nếu tôi từng làm bài đánh giá đó, tôi sẽ cố gắng toàn diện. Tôi hầu như không gọi hồi quy Cox là "tối nghĩa", ít nhất là trong lĩnh vực của tôi.
Shadowtalker

5

Tôi đã đưa ra một câu trả lời một phần rất hạn chế cho gói phân tích nhân tố xác nhận mà tôi đã phát triển cho Stata trong bài viết trên Tạp chí Stata này dựa trên thời gian mô phỏng thực tế. Phân tích nhân tố khẳng định được triển khai như một kỹ thuật ước tính khả năng tối đa và tôi có thể thấy rất dễ dàng thời gian tính toán tăng theo từng chiều (cỡ mẫu n, số lượng biến p, số yếu tố k). Vì nó phụ thuộc rất nhiều vào cách Stata nghĩ về dữ liệu (được tối ưu hóa để tính toán trên các cột / quan sát thay vì hàng), tôi thấy hiệu suất làO(n^{0.68} (k+p)^{2.4})Trong đó 2.4 là ma trận đảo ngược ma trận nhanh nhất (và có rất nhiều điều trong phân tích nhân tố xác nhận tối đa hóa lặp lại). Tôi đã không đưa ra một tài liệu tham khảo cho phần sau, nhưng tôi nghĩ rằng tôi đã nhận được điều này từ Wikipedia .

Lưu ý rằng cũng có một bước đảo ngược ma trận trong OLS. Tuy nhiên, vì lý do chính xác về số, không ai thực sự sẽ nghịch đảo X'Xma trận, và thay vào đó sẽ sử dụng các toán tử quét và xác định các biến cộng tuyến nguy hiểm để xử lý các vấn đề chính xác. Nếu bạn thêm số ban đầu có độ chính xác gấp đôi , bạn có thể sẽ kết thúc với một số chỉ có một độ chính xác duy nhất. Các vấn đề điện toán số có thể trở thành một góc bị lãng quên của các tính toán dữ liệu lớn khi bạn bắt đầu tối ưu hóa tốc độ.108


2
Định dạng toán học không hoạt động trên DataScience? Có thật không? Có thể chúng ta nên yêu cầu để có được nó.
StasK

Điểm tốt về độ chính xác số.
Shadowtalker
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.