gen xx=x^0.375 Werte fehlen, obwohl berechenbar

Allgemeine Fragen rund um Statistik mit Stata.

gen xx=x^0.375 Werte fehlen, obwohl berechenbar

Beitragvon Andy » Di 7. Aug 2012, 09:40

Hallo zusammen,

ich hänge an einer vermeintlich einfachen Sache... Um die Schiefe meiner Daten anzupassen möchte ich meine Daten modellieren.
Eine Spalte der Daten (Variable x) wollte ich hoch 0.375 nehmen (optimalster Wert lt. Stata), also gen xx=x^0.375 komischer Weise wirft er mir kaum Ergebnisse aus (ebenso wie Excel es mir nicht berechnet. In Excel funktioniert aber wenigstens 0.2 für alle Werte, bei Stata nichtmal für das). 0.375 soll nur ein Beispiel sein, ich habe bei mehreren Variablen mit anderen Zahlen das gleiche Problem.
Ich habe es am Taschenrechner auspropiert, der rechnet ^0.375 auch problemlos...

Hat jemand ne Ahnung wie das funktioniert? oder was ich falsch mache? Vllt gibt es auch alternative Befehle.

Für Antworten, Anregungen etc. jeder Art bin ich sehr dankbar!

Beste Grüße
Andy
Andy
 
Beiträge: 8
Registriert: Di 7. Aug 2012, 09:34
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: gen xx=x^0.375 Werte fehlen, obwohl berechenbar

Beitragvon daniel » Di 7. Aug 2012, 10:34

An diesem Beispiel wird klar, dass negative Zahlen nicht mit 0.375 exponentiert werden.

Code: Alles auswählen
se obs 100
g x = rnormal()
g xx = x^.375
ta xx if x > 0
ta xx if x < 0


Das könnte zusätzlich informativ sein: http://blog.stata.com/category/mathematics/page/2/
Stata is an invented word, not an acronym, and should not appear with all letters capitalized: please write “Stata”, not “STATA”.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: gen xx=x^0.375 Werte fehlen, obwohl berechenbar

Beitragvon Andy » Di 7. Aug 2012, 11:26

Danke für deine Antwort.
Habe mir das ganze angeschaut und nochmal nachgelesen.
a^x
Für negative a gilt, dass x größer 1 sein muss oder dass ein x<1 folgende Eigenschaft hat:
x= m/n, n als Nenner muss eine ungerade Zahl sein, also z. B. 1/3
0.25 für 1/4 ist somit z. B. nicht möglich.
Habe das ganze in Excel probiert und das ganze folgt dieser Regel.
Stata allerdings nicht. Der berechnet es für keine Zahl kleiner 0...
Andy
 
Beiträge: 8
Registriert: Di 7. Aug 2012, 09:34
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: gen xx=x^0.375 Werte fehlen, obwohl berechenbar

Beitragvon daniel » Di 7. Aug 2012, 12:29

Wo hast Du Dir was angeschaut, und nachgelesen? Hast Du Dir den link angeschaut? Dort steht im dritten Absatz

[...] Stata calculates a^b as exp(b*ln(a)). In the case of a=-8 and b=1/3, ln(-8)==., and thus (-8)^(1/3)==..


Es sollte also nach der Lektüre nicht verwunderlich sein, dass Stata für negative a immer fehlende Werte ausspuckt. Bill Gould erklärt zudem recht ausführlich, warum es wohl sinnvoll sein könnte, die Berechnungen dennoch so durchzuführen, nicht wie bsp. Excel.

Das löst Dein Problem allerdings nicht. Entweder Du berechnest es in Excel, oder Du überlegst Dir, wie Du in Stata die Berechnung für negative Werte "von Hand" machst.

Nebenbei: kannst Du Deine Ergebnbisse sinnvoll, intuitiv interpretieren, wenn die Daten auf diese Art transformiert werden?
Stata is an invented word, not an acronym, and should not appear with all letters capitalized: please write “Stata”, not “STATA”.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: gen xx=x^0.375 Werte fehlen, obwohl berechenbar

Beitragvon Andy » Di 7. Aug 2012, 12:37

ja, habe den Artikel schon gelesen, aber wie du schon sagst, dass hilft mir leider nicht so recht weiter...
Schade, dass es bei Stata nicht klappt, das hätte einiges an Arbeit erspart.
Zwecks Interpretation mach ich mir keine Gedanken, die Literatur weißt auf eine vorherige Anpassung der Schiefe hin um besser aussagen treffen zu können.
Danke nochmals für deine Hilfe
Andy
 
Beiträge: 8
Registriert: Di 7. Aug 2012, 09:34
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: gen xx=x^0.375 Werte fehlen, obwohl berechenbar

Beitragvon daniel » Di 7. Aug 2012, 13:00

Wenn ich das richtig verstehe, dann willst Du im Prinzip einfach bei negativen x-Werten, den exponentierten Wert *(-1) haben?

Code: Alles auswählen
g xx = cond(x < 0, (-1)*(((-1)*x)^.375), x^.375)
Stata is an invented word, not an acronym, and should not appear with all letters capitalized: please write “Stata”, not “STATA”.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: gen xx=x^0.375 Werte fehlen, obwohl berechenbar

Beitragvon Andy » Di 7. Aug 2012, 13:52

ich will im Prinzip ne Annäherung an die Normalverteilung der Variable x. Deshalb sollten alle Werte ^0.375 berechnet werden, unabhängig vom Vorzeichen
Andy
 
Beiträge: 8
Registriert: Di 7. Aug 2012, 09:34
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: gen xx=x^0.375 Werte fehlen, obwohl berechenbar

Beitragvon daniel » Di 7. Aug 2012, 14:43

Gut möglich, dass mich hier meine mathematischen Grundkenntnisse verlassen, aber dem Beispiel aus dem link folgend ergbit

8^(1/3) = 2

und wir sollten für

(-8)^(1/3)

einen Wert von -2 erwarten. Stata würde uns bei letzterem eine fehlenden Wert ausspucken. Um auf -2 zu kommen müssten wir aber lediglich 8^(1/3) mit -1 multiplizieren. Das ist es, was mein code tut, und was ich mit

willst Du im Prinzip einfach bei negativen x-Werten, den exponentierten Wert *(-1) haben?


meinte.

Hast Du vielleicht mal ein Beispiel aus Excell, was dort funktioniert, das in Stata fehlende Werte erzeugt, und was rauskommen soll?
Stata is an invented word, not an acronym, and should not appear with all letters capitalized: please write “Stata”, not “STATA”.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: gen xx=x^0.375 Werte fehlen, obwohl berechenbar

Beitragvon Andy » Mi 8. Aug 2012, 00:28

Achso, ok, da haben wir aneinander vorbei geredet! Ja super, danke für den Tipp. so kann man Stata "austricksen". Also in Excel funktioniert alles mit ungeraden Nenner, also z. B. -5^1/7, -1000^1/3 etc. Und ich Stata eben nicht, mit deinem Tipp kann ich das recht gut umgehen. Besten Dank!
Gute Nacht ;)
Andy
 
Beiträge: 8
Registriert: Di 7. Aug 2012, 09:34
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post


Zurück zu Statistik allgemein

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste

cron