Hi statalist,
I am using ivreg2 to carry out my instrumental variable analysis.

This is my model without any interactions with endogenous variable ‘’currwork’’. I am using three instruments.
Code:
ivreg2 emotional (currwork=child3 hheligwomen_w avgwork) i.husjob2 i.ehypo i.ehyper dis i.educlvl i.decision attitude[pw=weight1]
This is my model with the inclusion of an interaction between currwork and husjob2.
Code:
ivreg2 emotional (i.currwork#i.husjob2=child3 hheligwomen_w avgwork) i.husjob2 i.ehypo i.ehyper dis i.educlvl i.decision attitude  [pw=weight1]

My questions are:
  1. Am I correctly entering the interaction in model 2? I am aware I am omitting one of the main effects (currwork) - I am wondering about whether including the interaction within brackets is the correct way to interact your endogenous variable with another variable.
  2. In Model 1, the adequacy of my IV is confirmed using the under identification test, cragg Donald F stat and the Hansen J statistic. However, once I include the interaction in Model 2 the results of these tests change (indicating that my IV’s are not adequate anymore). I am unsure why this might be the case?
  3. Is the kleibergen-Paap rk LM statistic reported using ivreg the same as the Anderson canonical correlations test?
Code:
* Example generated by -dataex-. To install: ssc install dataex
clear
input byte currwork float(husjob2 child3) byte hheligwomen_w float avgwork
1 0 0 1 2.530864
1 0 0 1 2.530864
0 2 0 1 2.530864
0 2 0 1 2.530864
0 0 0 1 2.530864
0 0 0 1 2.530864
1 0 0 1 2.530864
0 0 1 1 2.530864
1 2 0 1 2.530864
0 0 0 1 2.530864
0 0 0 1 2.530864
0 1 0 1 2.530864
1 0 0 1 2.530864
0 2 0 2 2.530864
0 0 1 1 2.530864
0 2 0 1 2.530864
0 2 0 1 2.530864
1 0 0 1 2.530864
0 0 0 1 2.530864
0 2 0 1 2.530864
1 0 0 1 2.530864
0 0 0 1 2.530864
0 0 0 1 2.530864
1 0 0 1 2.530864
1 0 0 1 2.530864
0 0 0 1 2.530864
0 0 0 1 2.530864
0 0 0 1 2.530864
0 2 0 1 2.530864
0 2 1 1 2.530864
0 2 0 1 2.530864
0 2 0 1 2.530864
1 2 1 1 2.530864
0 2 0 1 2.530864
1 0 0 1 2.530864
1 0 0 1 2.530864
0 0 0 1 2.530864
1 0 0 1 2.530864
1 0 0 1 2.530864
1 0 0 1 2.530864
0 2 0 1 2.530864
0 0 0 1 2.530864
1 0 1 1 2.530864
0 2 0 1 2.530864
0 2 0 1 2.530864
1 0 0 1 2.530864
0 2 0 1 2.530864
0 0 0 1 2.530864
0 2 1 1 2.530864
0 0 0 1 2.530864
0 2 0 1 2.530864
0 2 0 1 2.530864
0 2 0 1 2.530864
0 2 0 1 2.530864
0 2 0 1 2.530864
0 0 0 1 2.530864
1 0 0 1 2.530864
0 2 0 1 2.530864
0 2 0 1 2.530864
0 2 0 1 2.530864
0 2 0 1 2.530864
0 2 0 1 2.530864
0 2 0 1 2.530864
1 0 0 1 2.530864
1 0 0 1 2.530864
1 2 0 1 2.530864
0 0 0 1 2.530864
1 0 0 1 2.530864
0 2 0 1 2.530864
0 0 0 1 2.530864
1 0 0 1 2.530864
0 0 0 1 2.530864
0 0 0 1 2.530864
0 1 0 2 2.530864
0 2 0 1 2.530864
0 1 0 1 2.530864
1 0 0 1 2.530864
1 1 0 1 2.530864
0 0 0 1 2.530864
1 2 0 1 2.530864
0 2 0 1 2.530864
0 2 0 1 2.530864
1 1 0 1 2.530864
0 1 0 2 2.530864
0 2 0 2 2.530864
0 0 0 1 2.530864
0 2 0 1 2.530864
0 0 1 1 2.530864
0 2 0 1 2.530864
0 0 1 1 2.530864
0 2 1 1 2.530864
0 2 0 1 2.530864
1 2 1 1 2.530864
0 2 0 1 2.530864
1 0 0 1 2.530864
0 0 0 1 2.530864
0 0 0 1 2.530864
0 2 0 1 2.530864
0 0 0 1 2.530864
1 0 0 1 2.530864
end
label values currwork CURRWORK
label def CURRWORK 0 "no", modify
label def CURRWORK 1 "yes", modify
label values husjob2 hj1
label def hj1 0 "White collar", modify
label def hj1 1 "Unemployed", modify
label def hj1 2 "Blue collar job", modify