Effectuer des régressions sur des échantillons d'un fichier très volumineux: les moyennes et les ES des coefficients d'échantillonnage sont-ils des estimateurs cohérents?


8

J'ai un fichier assez volumineux de 100 millions de lignes et 30 colonnes environ, sur lequel j'aimerais exécuter plusieurs régressions. J'ai un code spécialisé pour exécuter les régressions sur l'ensemble du fichier, mais ce que je voudrais faire est de tirer des échantillons aléatoires du fichier et de les exécuter dans R. La stratégie est la suivante: échantillonner au hasard N lignes du fichier sans remplacement exécuter une régression et enregistrer les coefficients d'intérêt répéter ce processus M fois avec différents échantillons pour chaque coefficient calculer les moyennes et les erreurs standard des coefficients sur M exécutions.

Je voudrais interpréter la moyenne calculée sur M exécutions comme une estimation des valeurs des coefficients calculés sur l'ensemble des données, et les erreurs standard des moyennes comme des estimations des erreurs standard des coefficients calculés sur l'ensemble des données.

Les expériences montrent qu'il s'agit d'une stratégie prometteuse, mais je ne suis pas sûr de la théorie sous-jacente. Mes estimateurs sont-ils cohérents, efficaces et non biaisés? S'ils sont cohérents, à quelle vitesse devraient-ils converger? Quels compromis de M et N sont les meilleurs?

J'apprécierais beaucoup que quelqu'un puisse m'indiquer les articles, livres, etc. avec la théorie pertinente.

Cordialement et merci beaucoup,

Joe Rickert


Joshep, si je comprends bien votre question, l'objectif de votre travail serait de démontrer que l'exécution d'une analyse de régression sur des échantillons aléatoires vous avez obtenu des résultats simulaires à ceux de l'ensemble des données si l'hypothèse échangeable se vérifie. Ma question est de savoir si quelqu'un connaît une référence dans laquelle cette méthode a été utilisée.
Manuel Ramón

Réponses:


5

Si vous pouvez supposer que vos lignes de votre matrice de données sont échangeables, votre stratégie de modélisation devrait bien fonctionner. Votre méthode devrait être correcte dans les conditions énoncées par Gaetan Lion auparavant.

La raison pour laquelle votre méthode fonctionnera ( compte tenu de l'hypothèse d'échangeabilité ) est qu'elle doit être considérée comme un cas particulier de bootstrap paramétrique dans lequel vous prenez un nouvel échantillon de N lignes de grand échantillon, ajustez un modèle et stockez les coefficients et répétez cette M fois (dans la terminologie bootstrap traditionnelle, votre M est équivalent à B ) et prenez la moyenne des estimations du coefficient M. Vous pouvez également l'examiner d'un point de vue de test de permutation.

Mais tous ces résultats sont vrais si l' hypothèse d'échangeabilité ( difficile à vérifier ) est vraie . Si l'hypothèse d'échangeabilité ne tient pas, la réponse dans ce cas devient un peu compliquée. Vous devez probablement prendre soin des sous-groupes de vos données qui sont échangeables et effectuer votre processus en fonction de ces sous-groupes. Fondamentalement, la modélisation hiérarchique.


Bonjour suncoolsu. Oui, je pense que l'hypothèse de l'échange est cruciale. Merci d'avoir fait remarquer cela. Connaissez-vous des résultats sur les taux de convergence?

1
Bonjour Joseph, comme avec la plupart ( pas en général ) des résultats dans les statistiques classiques: le bootstrap paramétrique converge autour des taux , où est la taille de l'échantillon. Dans votre cas, correspond à , car vous prenez la moyenne des estimations de bootstrap. Cela équivaut à la normalité asymptotique (ou CLT ). Les hypothèses et les détails du résultat peuvent être trouvés dans: Hall, P. 1988. Rate of Convergence in Bootstrap Approximations. Annales de probabilité. n12nnMM
suncoolsu

Addendum: quand je dis , je veux dire que l'erreur va à zéro avec ce taux . n1/2O(n1/2)
suncoolsu

Bonjour suncoolsu. Merci pour la référence. J'apprécie énormément. Je ferai mes devoirs.

4

La réponse à votre question initiale est oui, car la théorie classique s'applique dans le cadre de votre plan d'échantillonnage. Vous n'avez pas besoin d'hypothèses sur la matrice de données d'origine. Tout le caractère aléatoire (implicitement derrière les erreurs standard et la cohérence) provient de votre schéma d'échantillonnage de lignes de la matrice de données.N

Considérez l'ensemble de vos données (100 millions de lignes) comme la population. Chaque estimation (en supposant que votre échantillon de taille est un simple échantillon aléatoire des lignes) est une estimation cohérente des coefficients de régression (par exemple, ) calculés à partir de l'ensemble de données entier. De plus, il est approximativement Normal avec une moyenne égale à et une certaine covariance. L'estimation habituelle de la covariance de l'estimation est également cohérente. Si vous répétez ces fois et faites la moyenne de ces estimations, alors l'estimation résultante (par exemple, ) sera également approximativement normale. Vous pouvez traiter ces estimations comme étant presque indépendantes (non corrélées) tant queNβ^β^MMβ^avgMN et sont petits par rapport à 100M. C'est une hypothèse importante. L'idée étant que l'échantillonnage sans remplacement est à peu près le même que l'échantillonnage avec remplacement lorsque la taille de l'échantillon est petite par rapport à la taille de la population.M

Cela étant dit, je pense que votre problème est vraiment de savoir comment estimer efficacement l'estimation de régression ( ) calculée à partir de l'ensemble de données. Il existe une différence entre (1) la moyenne des estimations basées sur des échantillons de taille et (2) une estimation basée sur un échantillon de taille . Le MSE de (2) sera généralement plus petit que le MSE de (1). Ils ne seraient égaux que si l'estimation était linéaire dans les données, mais ce n'est pas le cas. Je suppose que vous utilisez le moins de carrés. L'estimation des moindres carrés est linéaire dans le vecteur (réponse), mais pas dans la matrice (covariables). Vous êtes d' échantillonnage aléatoire et .β^MNMNYXYX

(1) et (2) sont tous deux des schémas simples, mais pas nécessairement efficaces. (Même si cela n'a pas d'importance puisque vous n'avez que 30 variables.) Il existe de meilleures façons. Voici un exemple: http://arxiv.org/abs/0710.1435


2

Plus l'échantillon N est grand, plus l'erreur standard (t stat supérieure et les valeurs p respectives) associée à tous vos coefficients de régression est petite. Plus M est élevé, plus vous aurez de points de données et plus votre erreur standard de la moyenne des coefficients sur M exécutions sera petite. De tels moyens devraient avoir une erreur standard qui est normalement distribuée selon le théorème de limite centrale. En termes de convergence de ces moyens, je ne suis pas sûr qu'il existe des principes statistiques qui dictent cela. Je soupçonne que si votre échantillonnage aléatoire est bien fait (pas de biais structurel, etc ...) la convergence devrait se produire assez rapidement. C'est quelque chose que vous devrez peut-être observer empiriquement.

Sinon, votre méthode semble bonne, je n'y vois aucun problème.


Bonjour Gaten, Merci d'avoir étudié cela. Je ne suis toujours pas sûr de comprendre la logique. L'échantillon bêta complet et l'estimation de la vraie bêta. Mon sample.mean.beta.qui est une estimation de beta.qu'est-ce pas? L'argument CLT est-il que beta.hat et sample.mean.beta.hat convergent l'un vers l'autre?

@Joseph. Je ne suis pas sûr de comprendre votre commentaire. Nous utilisons simplement une syntaxe légèrement différente. Je ne sais pas ce que signifie beta.hat. Mon point était qu'un plus grand échantillon N vous donnerait une plus grande signification statistique (erreur standard plus faible, stat t plus élevé, valeur p plus faible) sur tous les coefficients de régression au cours d'une même analyse. Pendant ce temps, le plus grand nombre d'itérations M vous donnera une plus grande signification statistique pour la moyenne de chacun des coefficients spécifiques sur toutes les itérations. Ce sont deux choses différentes.
Sympa

@Joseph, en utilisant votre langue. Je ne suis pas sûr que l'argument CLT suggère que beta.hat et sample.mean.beta.hat convergeront l'un vers l'autre. Mais, que leurs distributions respectives de résultats (définies par leur erreur standard autour de la moyenne) seront normalement distribuées. Je pense que les deux versions beta.hat (s) convergeront l'une vers l'autre simplement parce qu'elles deviendront chacune plus raffermies ou statistiquement significatives lorsque vous utiliserez un N plus grand et un M. plus grand
Sympa
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.