Seite 1 von 1

Regressionsmodell korrekt?

BeitragVerfasst: Mi 16. Jun 2021, 14:52
von AnfängerBerlin1996
Guten Tag,

ich sitze an meiner ersten Stata-Aufgabe für die Uni und habe Probleme meinen Fehler im Do-File zu entdecken.

Vorliegende Daten sind die Sozialausgaben und deren Entwicklung wollte ich untersuchen mit Bezug auf Steuerhinterziehung. Bei den Daten zur Steuerhinterziehung wollte ich vorher mit Interpolation den Mittelwert für die Jahre 2009 und 2011 berechnen. Die Datei mit der Bevölkerungsentwicklung dient als Kontrollvariable.
Die drei Tabellen sind im Anhang.

Die Tabellen musste ich bei wetransfer hochladen, da diese zu groß sind für die Upload-Funktion hier im Forum.
https://we.tl/t-G3wTxGDBmH

Mein Code sieht bisher so aus:


clear
version 16
set more off
capture log close

*Arbeitsverzeichnis festlegen
*Hier gebt ihr euren eigenen Datenpfad ein
cd "C:/Macintosh HD/Benutzer/christian/Schreibtisch/Semester Zwei/VerteilungWÖ/Quellen"


*log-file starten
log using "Termin2", replace


************************* Stata Abgabe ****************************
*************************

*Datei Sozialausgaben öffnen
import excel "C:/Macintosh HD/Benutzer/christian/Schreibtisch/Semester Zwei/VerteilungWÖ/Quellen/social_expenditure.xlsx" , clear firstrow

*Datensatz wide to long, falls notwendig
reshape long y , i(A) j(year)
label var year "Year"
rename A socext
label var socext "Type of Social Expenditure"
rename y socexa
label var socexa "Amount of Social Expenditure in m DDK"

*Beobachtungen 2008-2012
keep if year>=2008
keep if year<=2012

*Datensatz speichern
save ".\data\soc_ex", replace

* Datensatz laden Steuerdaten Tabelle1 Zelle B25 zeigt die Summe des absichtlich hinterzogenen Vermögens. Anhand der Werte für 2008, 2010 und 2012 sollen (mit Mittelwerten) die Werte für die Jahre 2009 und 2011 geschätzt werden.

import excel "C:/Macintosh HD/Benutzer/christian/Schreibtisch/Semester Zwei/VerteilungWÖ/Quellen/AJZ2017AppendixH.xlsx", sheet("T.H1") firstrow clear
keep if B=="All years" | A=="Total deliberately evaded income (billion DKK)"
keep A C D E
rename (A C D E) (inc_evaded y2008 y2010 y2012)
drop in 1
reshape long y , i(inc_evaded) j(year)
drop inc_evaded
rename y inc_evaded
label var inc_evaded "Total deliberately evaded income (billion DKK)"

*Regression mit x als Variable für die absichtlich hinterzogenen Steuern, y als Variable für die Sozialausgaben und z als Kontrollvariable für die Population
reg x y z

* und beenden zuletzt den log
log close



Ist ersichtlich wo mein Fehler liegt?

Bei der Population müsste ich wahrscheinlich die 4 Quartale zu einem Jahr zusammenfassen? Mit einer Funktion oder lieber vorab manuell diese in Excel zusammenfassen?

Habe ich einen Logikfehler in meinem Code?


Zu Beginn habe ich ja schon mal erwähnt, dass dies meine erste Aufgabe mit Stata ist. Daher benötige ich einfach ein wenig Support dabei.

Ich würde mich freuen, wenn jemand mir helfen könnte.

VG

Re: Regressionsmodell korrekt?

BeitragVerfasst: Do 17. Jun 2021, 09:01
von Staxa
Es ist für uns schwer das nachzuvollziehen, da wir deine Daten nicht kennen und daher auch nicht ihr Format, was für viele Operationen essentiell ist. Du könntest uns einen Datenauszug mit dataex bereitstellen, damit wir einen Überblick bekommen. Grundsätzlich sollte man möglichst nur mit Stata arbeiten und nicht zwischen Excel und Stata wechseln, das bringt nur Probleme. Allerdings ist mir aber auch nicht klar, was du mit Zusammenfassen nach Quartal meinst. Also die Summe über alle Quartale bilden?

Re: Regressionsmodell korrekt?

BeitragVerfasst: Do 17. Jun 2021, 09:29
von AnfängerBerlin1996
Ich arbeite mit xlsx - Tabellen. Die Datei mit der Bevölkerungsentwicklung dient als Kontrollvariable. Diese Bevölkerungsentwicklung wird pro Quartal abgebildet. Ich muss aus den vier Quartalen, die gesamte Entwicklung pro Jahr ermitteln damit ich die "fertige" Kontrollvariable habe.
Theoretisch kann ich das auch manuell in dem xlsx-Dokument erledigen, ich dachte bloß es gäbe einen Befehl dafür um den Vorgang zu verkürzen.

Re: Regressionsmodell korrekt?

BeitragVerfasst: Do 17. Jun 2021, 10:53
von Staxa
Natürlich kannst du einfach einen Mittelwert über alle Quartale bilden, etwa

Code: Alles auswählen
gen mean2008 = (v2008q1 + v2008q2 + v2008q3 + v2008q4) / 4


Dann musst du nur die jeweiligen Variablennamen anpassen aber das Prinzip sollte klar sein.