Seite 1 von 1

count if und predict resid, residual

BeitragVerfasst: Do 1. Nov 2012, 11:36
von Susi
Hallo an alle zusammen.

Ich habe 2 Fragen bezüglich „zählen“ und „Residuen erstellen“.
1. Frage: Ich habe einen Paneldatensatz der die Variablen Quartal, InstitutionKey und Tier 2 enthält. Das heißt ich habe Daten von Quartal 200604 bis 201203 und jeder Bank ist ein Key zugeordnet. In jedem Quartal wurde ein Tier 2 Wert angegeben.

Quartal InstitutaionKey Tier2
200604 123 (für Bank A) 1,35
200701 123 (Bank A) 1,26

200604 852 (für Bank B) 1,24
200701 852 1,23
....
200604 459 (Bank C) 1,27

Jetzt möchte ich zählen wie viele Banken unter 1,25 liegen. Das Problem liegt darin, dass für Bank B mehrere Werte unter 1,25 liegen. Die Bank B soll aber nur einmal gezählt werden. (D.h. ich möchte nicht die Beobachtungen zählen, die unter 1,25 liegen.)
Hat jemand eine Lösung für das Problem?

2. Frage: Ein Lehrer hat zu mir gesagt wenn ich Residuen bilden möchte, brauche ich nur
Code: Alles auswählen
predict (neueVariable), xb
eingeben, aber überall steht das man anschließend noch
Code: Alles auswählen
predict resid, residual
eingeben muss. Jetzt habe ich mit den beiden Werten meine Regression durchgeführt und es kommen andere Werte und Vorzeichen raus. Jetzt weiß ich nicht was ich nehmen soll. Wer kann mir da einen Rat geben.

Vielen Dank für eure Hilfe

Re: count if und predict resid, residual

BeitragVerfasst: Do 1. Nov 2012, 13:30
von daniel
Jetzt möchte ich zählen wie viele Banken unter 1,25 liegen. Das Problem liegt darin, dass für Bank B mehrere Werte unter 1,25 liegen. Die Bank B soll aber nur einmal gezählt werden. (D.h. ich möchte nicht die Beobachtungen zählen, die unter 1,25 liegen.)
Hat jemand eine Lösung für das Problem?


Code: Alles auswählen
bys var1 : g foo = cond((_n == _N), cond(sum(var2 < 1.25), 1, 0), .)
cou if (foo == 1)


2. Frage: Ein Lehrer hat zu mir gesagt wenn ich Residuen bilden möchte, brauche ich nur
Code: Alles auswählen
predict (neueVariable), xb

eingeben, aber überall steht das man anschließend noch
Code: Alles auswählen
predict resid, residual



Dein Lehrer hat unrecht, "über" ebenfalls. Der code Deines Lehrers berechnet die (linear) vorhergesagten Werte. Dieser Schritt ist vollkommen überflüssig, wenn man nur an den Residuen interesiert ist. In diesem Fall muss nicht zusätzlich, sondern schlicht nur der zweite code verwendet werden, der aber natürlich <resid> nicht als Variablennamen vorgibt, und daher eher als

Code: Alles auswählen
predict <newvarname> ,r


geschrieben werden kann.

Wenn Du nach dem code Deines Lehrers

Code: Alles auswählen
g double resid = <yvarname> - <newvarname>


eingibst, solltest Du die gleichen Werte erzielen, wie mit der zweiten Syntax. Dabei ist <newvarname> hier Dein "(neueVariable)", <yvarname> der name Deines outcomes in der Regression.

Re: count if und predict resid, residual

BeitragVerfasst: Do 1. Nov 2012, 15:59
von Susi
Hallo Daniel,

ich danke dir für deine schnelle Antwort. Ich habe es gleich ausprobiert und es hat super funktioniert.

Liebe Grüße
Susi