다양한 통계적 기법 (회귀, PCA 등)은 표본 크기와 차원에 어떻게 비례합니까?


10

표본 크기 및 차원에 따라 확장되는 방법을 설명하는 알려진 일반적인 통계 기법 표가 있습니까? 예를 들어, 내 친구가 며칠 전에 크기 n의 1 차원 데이터를 간단히 정렬하는 계산 시간이 n * log (n)이된다고 말했습니다.

예를 들어 X가 d- 차원 변수 인 X에 대해 y를 회귀하면 O (n ^ 2 * d)로됩니까? 뉴턴 방법으로 정확한 Gauss-Markov 솔루션 대 숫자 최소 제곱을 통해 솔루션을 찾으려면 어떻게 확장합니까? 아니면 단순히 솔루션을 얻는 것 대 유의성 테스트를 사용합니까?

나는 여기에 좋은 대답보다 좋은 대답의 출처 (다양한 통계 기법의 스케일링을 요약 한 논문과 같은)를 더 원한다고 생각합니다. 예를 들어 다중 회귀, 로지스틱 회귀, PCA, 콕스 비례 위험 회귀, K- 평균 군집 등의 스케일링을 포함하는 목록입니다.


좋은 질문입니다. 많은 통계 서적에서 계산 차원이 아닌 고차원 데이터의 이론적 측면에 대해 이야기합니다.
shadowtalker

많은 경우에, 원문은 복잡성을 논의 할 것입니다. 그러나 종종 이론적 인 복잡성은 쓸모가 없습니다. QuickSort는 최악의 경우 O (n ^ 2)이지만, 최악의 경우 O (n log n) 인 HeapSort보다 빠릅니다. 약간의 연구를 수행하면 많은 알고리즘에 대한 복잡한 결과를 알 수 있습니다 (알려진 경우). 예 PCA가되는 O (ND ^ 3) K-수단 인 O (nkid)에 등
있음 QUIT - Anony 무스

답변:


6

효율적인 통계 (사소하지 않은) 통계 알고리즘의 대부분은 본질적으로 반복적이므로 O()최악의 경우 '수렴에 실패'이므로 최악의 경우 분석 은 관련이 없습니다.

그럼에도 불구하고 많은 데이터가있을 때 선형 알고리즘 ( O(n)) 조차 느려질 수 있으며 표기법 뒤에 숨겨진 '숨겨진'에 집중해야합니다. 예를 들어, 단일 변이의 분산을 계산하는 것은 순진하게 데이터를 두 번 스캔합니다 (한 번은 평균 추정치를 계산 한 다음 한 번은 분산 추정). 그러나 한 번에 수행 할 수도 있습니다 .

반복 알고리즘의 경우 더 중요한 것은 수렴에 큰 영향을주는 요소 인 데이터 차원의 함수로서 수렴 속도 및 매개 변수 수입니다. 많은 모델 / 알고리즘은 변수 수 (예 : 스플라인)와 함께 지수가 많은 여러 매개 변수를 증가시키는 반면 다른 일부는 선형으로 증가합니다 (예 : 벡터 머신, 임의 포리스트 지원)


나는 이것에 동의하지 않습니다 : 통계 문제에 대한 알고리즘을 설계 할 때 각 반복 단계의 복잡성에 많은 관심이 있습니다 (보통 원고로 문서화되어 있음). 그러나 반복마다 동일한 복잡성을 가진 두 개의 알고리즘이 필요한 반복으로 인해 매우 다르게 수행 될 수 있기 때문에 요약하기가 쉽지 않은 경우가 많습니다. 그러나 필요한 반복 횟수가보다 빠르게 증가하는 경우는 매우 드 rare니다 O(log(n) ).
Cliff AB

5

제목에 회귀와 PCA를 언급했으며 각각에 대해 명확한 대답이 있습니다.

선형 회귀의 점근 적 복잡성은 N> P 인 경우 O (P ^ 2 * N)으로 감소합니다. 여기서 P는 피처의 개수이고 N은 관측치의 개수입니다. 최소 제곱 회귀 연산의 계산 복잡성에 대한 자세한 내용 .

바닐라 PCA는 고차원 데이터를위한 가장 빠른 PCA 알고리즘 에서와 같이 O (P ^ 2 * N + P ^ 3) 입니다. 그러나 매우 큰 행렬에 대해 빠른 알고리즘이 존재합니다. 해답과 수많은 기능에 대한 최고의 PCA 알고리즘에 설명되어 있습니까? .

그러나 나는 누군가가 주제에 대한 단일 검토 또는 참조 또는 책을 편집했다고 생각하지 않습니다. 자유 시간에 나쁜 프로젝트가 아닐 수도 있습니다 ...


고마워, 그것은 매우 도움이됩니다! 다양한 예측 모델링 기술에 대한 문헌 검토를 수행하면 많은 참조가 필요하다고 확신합니다. 큰 n 또는 큰 p 경우에 사용할 알고리즘 또는보다 정확한 계산을 위해 중간 값에 사용할 알고리즘을 구별하려는 사람들에게 매우 유용합니다. 좀 더 모호한 기술이 어떻게 확장되는지 알고 있습니까? (콕스 비례 위험 회귀 또는 확인 요인 분석과 유사)
Bridgeburners

불행히도 아니요, 그러나 그 검토를하면 포괄적이 되려고 노력할 것입니다. 나는 적어도 내 분야에서 콕스 회귀를 "불분명하다"라고 부르지 않았다.
shadowtalker

5

Stata Journal 기사 에서 Stata를 위해 개발 한 확인 요인 분석 패키지 에 대해 실제 시뮬레이션 타이밍을 기반으로 매우 제한된 부분 답변을하였습니다 . 확인 요인 분석은 최대 가능성 추정 기술로 구현되었으며 각 차원 (샘플 크기 n, 변수 p수, 요인 수 k)에 따라 계산 시간이 어떻게 증가했는지 매우 쉽게 알 수있었습니다 . Stata가 데이터에 대해 어떻게 생각하는지 (행이 아닌 열 / 관측 전체에서 계산하도록 최적화 됨)에 크게 의존하기 때문에 성능이O(n^{0.68} (k+p)^{2.4})여기서 2.4는 가장 빠른 행렬 반전 무증상입니다 (확인 요인 분석 반복 최대화에는 많은 것들이 있습니다). 나는 후자를 참조하지 않았지만 Wikipedia 에서 이것을 얻은 것 같습니다 .

OLS에는 행렬 반전 단계도 있습니다. 그러나 수치 정확도의 이유로 인해 아무도 역행렬을 거스르는 힘을 강요하지 않으며 X'X스윕 연산자를 사용하여 정밀한 문제를 처리하기 위해 위험한 공선 변수를 식별하지 않습니다. 원래 배정 밀도 숫자 를 더하면 단 정밀도 만있는 숫자로 끝날 수 있습니다. 속도 최적화를 시작할 때 수치 계산 문제가 빅 데이터 계산에서 잊혀진 코너가 될 수 있습니다.108


2
DataScience에서 수학 서식이 작동하지 않습니까? 정말? 우리는 그것을 요청해야 할 수도 있습니다.
StasK

수치 정확도에 대한 좋은 지적.
shadowtalker
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.