Régression pour la loi de puissance

7

Ceci est une publication croisée de Math SE .

J'ai quelques données (durée d'exécution d'un algorithme) et je pense que cela suit une loi de puissance

yreg=kxa

Je veux déterminer et . Ce que j'ai fait jusqu'à présent est de faire une régression linéaire (moindres carrés) à travers et de déterminer et partir de ses coefficients.kalog(x),log(y)ka

Mon problème est que, puisque l'erreur "absolue" est minimisée pour les "données de journal de bord", ce qui est minimisé lorsque vous regardez les données d'origine est le quotient

yyreg

Cela conduit à une grande erreur absolue pour les grandes valeurs de . Existe-t-il un moyen de faire une "régression de la loi de puissance" qui minimise l'erreur "absolue" réelle? Ou au moins fait un meilleur travail pour le minimiser?y


Exemple:

entrez la description de l'image ici

La courbe rouge est ajustée sur l'ensemble des données. La courbe verte ne passe que par les 21 derniers points.

Voici les données de l'intrigue. La colonne de gauche sont les valeurs de ( axe ), la colonne de droite sont les valeurs de ( axe )nxty

1.000000000000000000e+02,1.944999820000248248e-03
1.120000000000000000e+02,1.278203080000253058e-03
1.250000000000000000e+02,2.479853309999952970e-03
1.410000000000000000e+02,2.767649050000500332e-03
1.580000000000000000e+02,3.161272610000196315e-03
1.770000000000000000e+02,3.536506440000266715e-03
1.990000000000000000e+02,3.165302929999711402e-03
2.230000000000000000e+02,3.115432719999944224e-03
2.510000000000000000e+02,4.102446610000356694e-03
2.810000000000000000e+02,6.248937529999807478e-03
3.160000000000000000e+02,4.109296799998674206e-03
3.540000000000000000e+02,8.410178100001530418e-03
3.980000000000000000e+02,9.524117600000181830e-03
4.460000000000000000e+02,8.694799099998817837e-03
5.010000000000000000e+02,1.267794469999898935e-02
5.620000000000000000e+02,1.376997950000031709e-02
6.300000000000000000e+02,1.553864030000227069e-02
7.070000000000000000e+02,1.608576049999897034e-02
7.940000000000000000e+02,2.055535920000011244e-02
8.910000000000000000e+02,2.381920090000448978e-02
1.000000000000000000e+03,2.922614199999884477e-02
1.122000000000000000e+03,1.785056299999610019e-02
1.258000000000000000e+03,3.823622889999569313e-02
1.412000000000000000e+03,3.297452850000013452e-02
1.584000000000000000e+03,4.841355780000071440e-02
1.778000000000000000e+03,4.927822640000271981e-02
1.995000000000000000e+03,6.248602919999939054e-02
2.238000000000000000e+03,7.927740400003813193e-02
2.511000000000000000e+03,9.425949999996419137e-02
2.818000000000000000e+03,1.212073290000148518e-01
3.162000000000000000e+03,1.363937510000141629e-01
3.548000000000000000e+03,1.598689289999697394e-01
3.981000000000000000e+03,2.055201890000262210e-01
4.466000000000000000e+03,2.308686839999722906e-01
5.011000000000000000e+03,2.683506760000113900e-01
5.623000000000000000e+03,3.307920660000149837e-01
6.309000000000000000e+03,3.641307770000139499e-01
7.079000000000000000e+03,5.151283440000042901e-01
7.943000000000000000e+03,5.910637860000065302e-01
8.912000000000000000e+03,5.568920769999863296e-01
1.000000000000000000e+04,6.339683309999486482e-01
1.258900000000000000e+04,1.250584726999989016e+00
1.584800000000000000e+04,1.820368430999963039e+00
1.995200000000000000e+04,2.750779816999994409e+00
2.511800000000000000e+04,4.136365994000016144e+00
3.162200000000000000e+04,5.498797844000023360e+00
3.981000000000000000e+04,7.895301083999981984e+00
5.011800000000000000e+04,9.843239714999981516e+00
6.309500000000000000e+04,1.641506008199996813e+01
7.943200000000000000e+04,2.786652209900000798e+01
1.000000000000000000e+05,3.607965075100003105e+01
1.258920000000000000e+05,5.501840400599996883e+01
1.584890000000000000e+05,8.544515980200003469e+01
1.995260000000000000e+05,1.273598972439999670e+02
2.511880000000000000e+05,1.870695913819999987e+02
3.162270000000000000e+05,3.076423412130000088e+02
3.981070000000000000e+05,4.243025571930002116e+02
5.011870000000000000e+05,6.972544795499998145e+02
6.309570000000000000e+05,1.137165088436000133e+03
7.943280000000000000e+05,1.615926472178005497e+03
1.000000000000000000e+06,2.734825116088002687e+03
1.584893000000000000e+06,6.900561992643000849e+03

(désolé pour la notation scientifique désordonnée)

0x539
la source
2
Sachez que le centre d'aide indique " Veuillez noter, cependant, que la publication croisée n'est pas encouragée sur les sites SE. Choisissez un meilleur emplacement pour publier votre question. Plus tard, si cela s'avère mieux adapté sur un autre site, il peut être migré. "
Glen_b -Reinstate Monica
2
il est tout à fait clair d'après votre intrigue qu'une seule loi de puissance ne correspond pas à ces données. Vous pouvez trouver de la valeur dans les autres questions sur la loi de puissance sur le site. Il vaut peut-être aussi la peine de lire le document d'Aaron Clauset, Cosma Rohilla Shalizi, MEJ Newman (2009), «Power-law distributions in empirical data», SIAM Review 51, 661-703 (voir la version arXiv ici arXiv: 0706.1062v2 ); et ce post de Shalizi.
Glen_b -Reinstate Monica
2
Quelques informations pertinentes ici
Glen_b -Reinstate Monica

Réponses:

4

Si vous voulez une variance d'erreur égale sur chaque observation de l'échelle non transformée, vous pouvez utiliser les moindres carrés non linéaires.

(Cela ne convient souvent pas; les erreurs sur plusieurs ordres de grandeur sont rarement de taille constante.)

Si nous allons de l'avant et l'utilisons néanmoins, nous nous rapprochons beaucoup plus des valeurs suivantes:

Tracé des moindres carrés non linéaires

Et si nous examinons les résidus, nous pouvons voir que mon avertissement ci-dessus est entièrement fondé:

Tracé résiduel par rapport au journal (ajusté) pour le modèle ci-dessus

Cela montre que la variabilité n'est pas constante sur l'échelle d'origine (et que l'ajustement de cette courbe de puissance unique ne convient pas non plus très bien à l'extrémité supérieure, car il y a une courbure distincte dans le troisième trimestre de la plage des valeurs logarithmiques sur l'échelle des x - entre environ 0 et 5 sur l'axe des x ci-dessus). La variabilité est plus proche de la constante dans l'échelle logarithmique (bien qu'elle soit un peu plus variable en termes relatifs à des valeurs faibles que élevées).

Ce qu'il serait préférable de faire ici dépend de ce que vous essayez de réaliser.

Glen_b -Reinstate Monica
la source
Dans ce cas, un ajustement qui convient mieux aux valeurs les plus élevées peut être approprié, car le temps de fonctionnement importe peu lorsqu'il est faible ...y
kjetil b halvorsen
1
@kjetilbhalvorsen Il existe de meilleures façons d'y parvenir, mais le fait que le modèle ne correspond pas est un avertissement clair que si l'intérêt était de prédire même légèrement en dehors de la plage des données, les prédictions seront trop faibles, peut-être de manière spectaculaire. L'ajustement aux seuls 21 derniers points ne correspond toujours pas à la courbure dans cette partie des données.
Glen_b -Reinstate Monica
2

Un article de Lin et Tegmark résume bien les raisons pour lesquelles les distributions de processus lognormal et / ou markov ne correspondent pas aux données affichant des comportements critiques de loi de puissance ... https://ai2-s2-pdfs.s3.amazonaws.com/5ba0/3a03d844f10d7b4861d3b116818afe2b75f2 .pdf . Comme ils le notent, "les processus de Markov ... échouent de manière épique en prédisant une information mutuelle en décomposition exponentielle ..." Leur solution et recommandation est d'utiliser des réseaux de neurones d'apprentissage profond tels que des modèles de mémoire à long terme et à court terme (LSTM).

Étant old school et ni familier ni à l'aise avec les NN ou les LSTM, je donnerai un petit coup de chapeau à l'approche non linéaire de @ glen_b. Cependant, je préfère des solutions de contournement plus maniables et facilement accessibles telles que la régression quantile basée sur les valeurs. Ayant utilisé cette approche sur les sinistres d'assurance à queue lourde, je sais qu'elle peut fournir un bien meilleur ajustement aux queues que les méthodes plus traditionnelles, y compris les modèles multiplicatifs et log-log. Le défi modeste dans l'utilisation de QR est de trouver le quantile approprié autour duquel fonder son (ses) modèle (s). En règle générale, cela est beaucoup plus élevé que la médiane. Cela dit, je ne veux pas survendre cette méthode car il restait un manque d'ajustement significatif dans les valeurs les plus extrêmes de la queue.

Hyndman, et al ( http://robjhyndman.com/papers/sig-alternate.pdf ), proposent un QR alternatif qu'ils appellent stimuler la régression quantile additive . Leur approche construit des modèles sur une gamme complète ou une grille de quantiles, produisant des estimations ou des prévisions probabilistes qui peuvent être évaluées avec n'importe laquelle des distributions de valeurs extrêmes, par exemple, Cauchy, Levy-stable, peu importe. Je n'ai pas encore utilisé leur méthode mais cela semble prometteur.

Une autre approche de la modélisation des valeurs extrêmes est connue sous le nom de modèles POT ou crête au-dessus du seuil. Cela implique de fixer un seuil ou un seuil pour une distribution empirique des valeurs et de modéliser uniquement les valeurs les plus élevées qui tombent au-dessus du seuil basé sur un GEV ou une distribution de valeur extrême généralisée. L'avantage de cette approche est que toute future valeur extrême possible peut être calibrée ou localisée en fonction des paramètres du modèle. Cependant, la méthode présente l'inconvénient évident que l'on n'utilise pas le PDF complet.

Enfin, dans un article de 2013, JP Bouchaud propose le RFIM (random field ising model) pour modéliser des informations complexes affichant la criticité et les comportements à queue lourde tels que l'élevage, les tendances, les avalanches, etc. Bouchaud fait partie d'une classe de polymathe qui devrait inclure des gens comme Mandelbrot, Shannon, Tukey, Turing, etc. . https://www.researchgate.net/profile/Jean-Philippe_Bouchaud/publication/230788728_Crises_and_Collective_Socio-Economic_Phenomena_Simple_Models_and_Challenges/links/5682d40008ae051f9aee7ee9.ddf&&p

Mike Hunter
la source