Hello,
I am working on an independent project and just wanted some advice on my model and producing results on Stata (this is my first time making a model from scratch). I am using the Arellano-Bond (Difference GMM) model to estimate the effect of tourism on housing affordability in Barcelona. My data looks like this:
----------------------- copy starting from the next line -----------------------
where the main outcome variable is the housing affordability index (rental price per square km divided by average yearly income per person). Three main variables that are being used as a proxy for tourist volume are hotel density (per square km), the number of short-term rentals and the number of cultural points. The analysis is district-level and uses yearly data. The equation is:
Affordability(i,t)=α+β1Affordability(i,t−1)+β2 HotelDensity(i,t)+β3STR(i,t)+β4CulturalPoints( i)+β5Unemployment(i,t)+β6Housing Supply(i,t)+β7Interest Rate(t)+β8Unemployment(i,t)+ϵ(i,t)
where
I have three questions:
1) I do not understand why the constant is being omitted.
2) Is there a way I can improve the model, or get better results?
3) What kind of robustness checks will be appropriate for this model/
Thanks,
Anisha
I am working on an independent project and just wanted some advice on my model and producing results on Stata (this is my first time making a model from scratch). I am using the Arellano-Bond (Difference GMM) model to estimate the effect of tourism on housing affordability in Barcelona. My data looks like this:
----------------------- copy starting from the next line -----------------------
Code:
* Example generated by -dataex-. For more info, type help dataex clear input int year str20 district float(housingaffordabilityindex hoteldensity) int(shorttermrental culturalpoints) float unemloymentrate int housingsupply float interestrate long district_id 2014 "Ciutat Vella" .000932405 27.0073 46 126 8634.667 17 2.7341666 1 2015 "Ciutat Vella" .001013596 29.44039 69 126 8004.25 1 2.3741667 1 2016 "Ciutat Vella" .001097946 29.6837 69 126 7210.75 12 2.0525 1 2017 "Ciutat Vella" .001216174 30.656935 70 126 6676.819 1 1.91 1 2018 "Ciutat Vella" .001084121 32.360096 74 126 6385.209 11 1.8441666 1 2019 "Ciutat Vella" .00109189 32.360096 74 126 6196.362 22 1.73 1 2020 "Ciutat Vella" .001011997 33.090023 74 126 8424.667 35 1.5725 1 2021 "Ciutat Vella" .000935094 33.090023 74 126 8131.417 8 1.4635 1 2022 "Ciutat Vella" .001074735 33.333332 74 126 5673.032 1 2.0575 1 2023 "Ciutat Vella" .001052432 33.333332 74 126 5645.63 22 3.898333 1 2014 "Eixample" .000842278 16.621984 19 88 14150.583 18 2.7341666 2 2015 "Eixample" .000910201 19.034853 95 88 12597.75 70 2.3741667 2 2016 "Eixample" .000978673 19.571045 95 88 11035.667 46 2.0525 2 2017 "Eixample" .001056482 20.24129 95 88 10077.89 50 1.91 2 2018 "Eixample" .00102939 21.58177 113 88 9425.247 64 1.8441666 2 2019 "Eixample" .001060102 21.849867 113 88 9272.884 68 1.73 2 2020 "Eixample" .001003529 21.983913 114 88 11854.75 59 1.5725 2 2021 "Eixample" .000942863 22.11796 114 88 10843.167 80 1.4635 2 2022 "Eixample" .001016199 22.25201 114 88 8064.494 121 2.0575 2 2023 "Eixample" .001042956 22.25201 114 88 8247.742 16 3.898333 2 2014 "Gràcia" .000882425 .9546539 6 136 6776.25 9 2.7341666 3 2015 "Gràcia" .000962306 1.1933174 15 136 6089.667 17 2.3741667 3 2016 "Gràcia" .001022907 1.431981 15 136 5313.667 8 2.0525 3 2017 "Gràcia" .001120988 1.431981 15 136 4843.2935 21 1.91 3 2018 "Gràcia" .001052632 1.909308 17 136 4585.6167 67 1.8441666 3 2019 "Gràcia" .001081541 2.1479714 17 136 4487.1157 28 1.73 3 2020 "Gràcia" .001019054 2.1479714 17 136 5786.25 18 1.5725 3 2021 "Gràcia" .000975351 2.1479714 17 136 5190.583 51 1.4635 3 2022 "Gràcia" .001040022 2.1479714 17 136 3954.8484 23 2.0575 3 2023 "Gràcia" .00106633 2.1479714 17 136 4005.5784 0 3.898333 3 2014 "Sant Martí" .000798853 3.176131 1 61 16451.416 57 2.7341666 4 2015 "Sant Martí" .000866238 3.272377 3 61 14850.667 68 2.3741667 4 2016 "Sant Martí" .00092733 3.272377 3 61 13135.083 75 2.0525 4 2017 "Sant Martí" .001014789 3.5611165 3 61 11998.69 105 1.91 4 2018 "Sant Martí" .000990403 3.657363 3 61 11241.9 197 1.8441666 4 2019 "Sant Martí" .001023878 3.657363 3 61 10834.918 60 1.73 4 2020 "Sant Martí" .000973183 3.753609 3 61 13497.25 214 1.5725 4 2021 "Sant Martí" .000940038 3.753609 3 61 12574.833 83 1.4635 4 2022 "Sant Martí" .000986251 3.849856 3 61 9970.16 119 2.0575 4 2023 "Sant Martí" .00102211 3.946102 3 61 9811.482 14 3.898333 4 2014 "Sarrià-Sant Gervasi" .000971733 1.6072326 7 116 4945 9 2.7341666 5 2015 "Sarrià-Sant Gervasi" .001055117 1.6574585 10 116 4478 20 2.3741667 5 2016 "Sarrià-Sant Gervasi" .001130332 1.6574585 10 116 3912.917 21 2.0525 5 2017 "Sarrià-Sant Gervasi" .001213814 1.6574585 10 116 3543.697 9 1.91 5 2018 "Sarrià-Sant Gervasi" .001157595 1.7579106 10 116 3430.1316 25 1.8441666 5 2019 "Sarrià-Sant Gervasi" .001161381 1.7579106 10 116 3404.865 39 1.73 5 2020 "Sarrià-Sant Gervasi" .001100212 1.7579106 10 116 4224.25 7 1.5725 5 2021 "Sarrià-Sant Gervasi" .001049509 1.8081366 10 116 3917.417 13 1.4635 5 2022 "Sarrià-Sant Gervasi" .001104683 1.8081366 10 116 2998.6526 22 2.0575 5 2023 "Sarrià-Sant Gervasi" .001152243 1.8081366 10 116 3144.29 17 3.898333 5 end label values district_id district_id label def district_id 1 "Ciutat Vella", modify label def district_id 2 "Eixample", modify label def district_id 3 "Gràcia", modify label def district_id 4 "Sant Martí", modify label def district_id 5 "Sarrià-Sant Gervasi", modify
where the main outcome variable is the housing affordability index (rental price per square km divided by average yearly income per person). Three main variables that are being used as a proxy for tourist volume are hotel density (per square km), the number of short-term rentals and the number of cultural points. The analysis is district-level and uses yearly data. The equation is:
Affordability(i,t)=α+β1Affordability(i,t−1)+β2 HotelDensity(i,t)+β3STR(i,t)+β4CulturalPoints( i)+β5Unemployment(i,t)+β6Housing Supply(i,t)+β7Interest Rate(t)+β8Unemployment(i,t)+ϵ(i,t)
where
- i is the district
- t is the year (2014–2023)
- Lagged affordability (Affordabilityi,t−1Affordabilityi,t−1) controls for persistence.
- Tourism variables (HotelDensity, STR, Cultural Points (which only varies by district, not year)) are key factors.
- Control variables (Housing Supply (count of Construction of new housing), Unemployment Rate, Interest Rate (varies by time only)) capture economic and supply-side dynamics.
Code:
encode district, generate(district_id) xtset district_id year Panel variable: district_id (strongly balanced) Time variable: year, 2014 to 2023 Delta: 1 unit xtabond housingaffordabilityindex hoteldensity shorttermrental culturalpoints unemloymentrate housingsupply inter > estrate note: culturalpoints omitted from div() because of collinearity. Arellano–Bond dynamic panel-data estimation Number of obs = 40 Group variable: district_id Number of groups = 5 Time variable: year Obs per group: min = 8 avg = 8 max = 8 Number of instruments = 36 Wald chi2(7) = 28862.01 Prob > chi2 = 0.0000 One-step results ------------------------------------------------------------------------------------------- housingaffordabilityindex | Coefficient Std. err. z P>|z| [95% conf. interval] --------------------------+---------------------------------------------------------------- housingaffordabilityindex | L1. | .3780462 .1039021 3.64 0.000 .1744019 .5816905 | hoteldensity | -.0000309 .0000128 -2.41 0.016 -.0000561 -5.74e-06 shorttermrental | -1.87e-07 2.89e-06 -0.06 0.948 -5.85e-06 5.48e-06 culturalpoints | .0000122 1.60e-06 7.61 0.000 9.03e-06 .0000153 unemloymentrate | -3.14e-08 6.99e-09 -4.49 0.000 -4.51e-08 -1.77e-08 housingsupply | -8.22e-08 2.18e-07 -0.38 0.706 -5.09e-07 3.45e-07 interestrate | -2.49e-06 .0000108 -0.23 0.818 -.0000236 .0000186 _cons | 0 (omitted) ------------------------------------------------------------------------------------------- Instruments for differenced equation GMM-type: L(2/.).housingaffordabilityindex Standard: D.hoteldensity D.shorttermrental D.unemloymentrate D.housingsupply D.interestrate Instruments for level equation Standard: _cons
1) I do not understand why the constant is being omitted.
2) Is there a way I can improve the model, or get better results?
3) What kind of robustness checks will be appropriate for this model/
Thanks,
Anisha