Comment les différentes techniques statistiques (régression, ACP, etc.) évoluent-elles avec la taille et la dimension de l'échantillon?

10

Existe-t-il un tableau général connu des techniques statistiques expliquant comment elles évoluent avec la taille et la dimension de l'échantillon? Par exemple, un de mes amis m'a dit l'autre jour que le temps de calcul d'un simple tri rapide des données unidimensionnelles de taille n correspond à n * log (n).

Ainsi, par exemple, si nous régressons y contre X où X est une variable de dimension d, cela va-t-il comme O (n ^ 2 * d)? Comment évolue-t-il si je veux trouver la solution via une solution de Gauss-Markov exacte par rapport aux moindres carrés numériques avec la méthode de Newton? Ou simplement obtenir la solution ou utiliser des tests de signification?

Je suppose que je veux plus une bonne source de réponses (comme un article qui résume l'échelle de diverses techniques statistiques) qu'une bonne réponse ici. Comme, par exemple, une liste qui inclut la mise à l'échelle de la régression multiple, de la régression logistique, de l'ACP, de la régression des risques proportionnels cox, du regroupement des moyennes K, etc.

Brûleurs
la source
C'est une bonne question. De nombreux livres de statistiques parlent des aspects théoriques des données de grande dimension et non des aspects informatiques.
shadowtalker
Dans de nombreux cas, la littérature originale discutera de la complexité. Mais souvent la complexité théorique est inutile. QuickSort a le pire des cas de O (n ^ 2), mais est souvent le plus rapide - plus rapide que HeapSort, qui a le pire des cas O (n log n). Si vous faites un peu de recherche, vous découvrirez les résultats de complexité de nombreux algorithmes - s'ils sont connus. Par exemple PCA étant O (nd ^ 3), k-signifie être O (nkid) etc.
A QUITTER - Anony-Mousse

Réponses:

6

La plupart des algorithmes statistiques efficaces (et non triviaux) sont de nature itérative, de sorte que l'analyse du pire des cas O()n'est pas pertinente car le pire des cas est «elle ne parvient pas à converger».

Néanmoins, lorsque vous avez beaucoup de données, même les algorithmes linéaires ( O(n)) peuvent être lents et vous devez alors vous concentrer sur la constante «cachée» derrière la notation. Par exemple, le calcul de la variance d'une seule variable se fait naïvement en balayant les données deux fois (une fois pour calculer une estimation de la moyenne, puis une fois pour estimer la variance). Mais cela peut aussi se faire en un seul passage .

Pour les algorithmes itératifs, ce qui est plus important est le taux de convergence et le nombre de paramètres en fonction de la dimensionnalité des données, un élément qui influence grandement la convergence. De nombreux modèles / algorithmes développent un certain nombre de paramètres qui est exponentiel avec le nombre de variables (par exemple les splines) tandis que d'autres se développent de manière linéaire (par exemple, prennent en charge les machines à vecteurs, les forêts aléatoires, ...)

damienfrancois
la source
Je ne suis pas sûr d'être d'accord avec cela: lors de la conception d'un algorithme pour un problème statistique, la complexité de chaque étape itérative suscite beaucoup d'inquiétude (et est généralement documentée dans un manuscrit). Mais comme vous le faites remarquer, ce n'est souvent pas si facile à résumer, car deux algorithmes avec la même complexité par itération peuvent fonctionner très différemment en raison des itérations nécessaires. Cela étant dit, il est très rare que le nombre d'itérations nécessaires augmente plus rapidement que O(log(n) ).
Cliff AB
5

Vous avez mentionné la régression et l'ACP dans le titre, et il y a une réponse définitive pour chacun d'eux.

La complexité asymptotique de la régression linéaire se réduit à O (P ^ 2 * N) si N> P, où P est le nombre de caractéristiques et N est le nombre d'observations. Plus de détails sur la complexité de calcul de l'opération de régression des moindres carrés .

Vanilla PCA est O (P ^ 2 * N + P ^ 3), comme dans l' algorithme PCA le plus rapide pour les données de grande dimension . Cependant, des algorithmes rapides existent pour les très grandes matrices, expliqués dans cette réponse et Meilleur algorithme PCA pour un grand nombre de fonctionnalités? .

Cependant, je ne pense pas que quiconque ait compilé une seule critique éclairée ou référence ou livre sur le sujet. Ça pourrait ne pas être un mauvais projet pour mon temps libre ...

shadowtalker
la source
Merci, c'est très utile! Si vous effectuez une revue de la littérature pour diverses techniques de modélisation prédictive, je suis sûr que cela serait souvent référencé. Il serait très utile pour les personnes qui souhaitent faire la différence entre les algorithmes à utiliser dans les grands cas n ou grands p, ou pour des valeurs moyennes de ceux-ci pour des calculs plus précis. Savez-vous par hasard comment certaines des techniques les plus obscures évoluent? (Comme la régression des risques proportionnels de Cox ou l'analyse factorielle confirmatoire)
Bridgeburners
Malheureusement non, mais si jamais je fais cet examen, j'essaierai d'être complet. J'appellerais à peine la régression de Cox «obscure», du moins dans mon domaine.
shadowtalker
5

J'ai donné une réponse partielle très limitée pour le package d'analyse de facteur de confirmation que j'ai développé pour Stata dans cet article du Stata Journal basé sur le timing des simulations réelles. L'analyse factorielle confirmatoire a été mise en œuvre comme technique d'estimation du maximum de vraisemblance, et j'ai pu voir très facilement comment le temps de calcul a augmenté avec chaque dimension (taille de l'échantillon n, nombre de variables p, nombre de facteurs k). Comme cela dépend fortement de la façon dont Stata pense les données (optimisées pour calculer sur plusieurs colonnes / observations plutôt que sur des lignes), j'ai trouvé que les performances étaientO(n^{0.68} (k+p)^{2.4})où 2,4 est l'asymptotique d'inversion de matrice la plus rapide (et il y en a beaucoup dans la maximisation itérative de l'analyse factorielle confirmatoire). Je n'ai pas donné de référence pour ce dernier, mais je pense que je l'ai obtenu de Wikipedia .

X'Xdix8

StasK
la source
2
Le formatage mathématique ne fonctionne pas sur DataScience? Vraiment? Peut-être devrions-nous demander à l'obtenir.
StasK
Bon point sur la précision numérique.
shadowtalker