Hi. I am trying to estimate the impact of migration on child education using survey data. My dependent variable is "school" (binary =1 if the child attends school, =0 otherwise), and my independent variable is "migrant" (binary = 1 if the child lives in a household that has a migrant member, = 0 otherwise). Since migrant might be endogenous, I am using an instrumental variable "oilpricewhenmigrantis31", which is the price of oil when the migrant is 31 years old, as most of the migrants in my sample migrate to work in Gulf countries.
I have decided to use SUR biprobit and I am limiting my sample to unmarried children 6 to 17 years old, however, I have some problems with this regression and I would appreciate your help.

This is my command
Code:
#delimit ;
biprobit (school = migrant age age2 eldest i.fteducst i.mteducst fth_absent urban1) (migrant = oilpricewhenmigrantis31 age age2 eldest i.fteducst i.mteducst fth_absent urban1 nb_children nb_ymale nb_yfemale nb_elderly)
if (age >= 6 & age <= 17 & marital != 4 & marital != 5 & yrbirth1 ==.) [pweight=expan_indiv], vce (cluster hhid) nolog;
#delimit cr
I get the following error after running my biprobit regression:
Code:
note: migrant omitted because of collinearity
migrant is never zero
Can anyone help me with this error?


the variables: age age2 eldest fteducst mteducst fth_absent urban1 are control variables of my main equation. Here is the description of these variables:

storage display value
variable name type format label variable label
--------------------------------------------------------------------------------------------------------------
age byte %9.0g Age
age2 float %9.0g the square of age variable
eldest float %10.0g eldest1 =1 if eldest child among siblings
fteducst byte %22.0g educlvl1 Father's Level of education attained
mteducst byte %22.0g educlvl1 Mother's Level of education attained
fth_absent float %10.0g absent1 Whether the father does not live in the household
urban1 float %9.0g dummy_urban Whether the child lives in urban or rural area


the variables: nb_children nb_ymale nb_yfemale nb_elderly are control variables of my IV equation. This is also their description:

storage display value
variable name type format label variable label
--------------------------------------------------------------------------------------------------------------
nb_children float %9.0g the number of children 6-14 years old in the household reported
by each child
nb_ymale float %9.0g the number of males 15-29 years old in the household reported by
each child
nb_yfemale float %9.0g the number of females 15-29 years old in the household reported
by each child
nb_elderly float %9.0g the number of elderly 64 years old and above in the household
reported by each c

This is an example of my dataset
Code:
input float(school migrant) byte age float(age2 eldest) byte(fteducst mteducst) float(fth_absent urban1 oilpricewhenmigrantis31 nb_children nb_ymale nb_yfemale nb_elderly)
1 0  9   81 0 4 4 1 0      . 3 0 0 0
1 0 15  225 0 1 1 0 0      . 0 1 1 0
1 0 12  144 1 2 4 0 1      . 3 0 0 0
1 0 13  169 0 1 4 0 0      . 2 1 0 0
. 0  2    4 . . . 0 1      . 3 0 0 0
0 0 20  400 0 1 1 0 0      . 2 1 1 0
0 0 24  576 0 6 6 0 1      . 0 0 3 0
0 0 25  625 0 2 2 1 0      . 1 0 1 0
0 0 19  361 0 1 1 1 0      . 0 1 1 0
0 0 21  441 0 2 2 1 1      . 0 1 1 0
0 0 37 1369 0 1 1 1 0      . 1 0 0 0
0 0 58 3364 0 1 1 1 0      . 0 1 3 0
1 0 20  400 1 1 1 0 0      . 0 1 1 0
0 0 32 1024 1 4 4 1 0      . 2 0 0 0
1 0  9   81 1 1 4 0 1      . 2 0 0 0
0 0 47 2209 0 1 1 1 0      . 0 2 0 0
0 0 40 1600 0 3 1 1 1      . 2 0 0 1
0 0 33 1089 0 3 1 1 1      . 0 0 0 0
0 0 57 3249 0 1 1 1 0      . 0 0 0 0
0 0 31  961 1 3 3 1 1      . 0 0 0 0
1 0 23  529 1 3 4 0 1      . 0 2 2 0
. 0 17  289 . 2 1 0 1      . 1 0 1 0
0 0 26  676 0 4 1 1 0      . 2 0 1 0
1 0  8   64 0 6 6 0 0      . 5 0 0 0
0 0 30  900 0 1 1 1 0      . 2 0 0 0
0 0 47 2209 0 1 1 1 1      . 1 2 2 0
1 0  9   81 1 6 1 0 1      . 2 0 0 0
1 0  7   49 0 2 1 0 1      . 2 0 0 0
1 0  8   64 0 1 1 0 0      . 2 1 0 0
1 0  9   81 0 4 4 0 1      . 3 0 1 0
. 0  3    9 . . . 0 1      . 0 0 0 0
0 0 42 1764 0 1 1 1 0      . 2 1 0 0
. 0  1    1 . . . 0 0      . 0 1 1 0
0 0 20  400 0 1 1 1 0      . 0 0 1 0
1 0 12  144 0 3 3 0 1      . 4 0 0 0
1 0 13  169 0 1 1 0 0      . 3 0 0 1
0 0 39 1521 0 1 1 1 0      . 2 0 0 0
0 0 25  625 0 1 1 1 0      . 0 0 1 0
0 0 61 3721 0 1 1 1 1      . 0 1 1 0
0 1 22  484 0 4 4 0 0      . 0 0 1 0
0 0 62 3844 1 1 1 1 1      . 1 0 0 1
0 0 72 5184 0 1 1 1 0      . 0 1 0 1
0 0 24  576 0 4 1 1 1      . 0 0 1 0
0 0 34 1156 0 1 1 1 1      . 1 2 0 0
1 0  9   81 0 4 4 0 0      . 4 2 1 0
0 0 28  784 1 2 2 1 1      . 0 0 1 0
0 0 24  576 0 4 2 0 0      . 1 3 1 0
0 0 36 1296 0 1 1 1 1      . 3 0 0 0
0 0 28  784 0 1 1 1 1      . 2 0 1 0
. 1  4   16 . . . 1 0  43.97 0 0 0 0
1 0  9   81 0 3 3 0 0      . 3 0 1 0
0 0 40 1600 0 1 1 1 0      . 0 0 0 0
. 0  0    0 . . . 0 1      . 1 0 0 0
1 0  7   49 0 6 6 0 0      . 1 1 1 0
0 0 27  729 0 1 1 1 1      . 0 1 1 0
1 0 12  144 0 1 1 0 1      . 1 2 0 0
1 0 18  324 0 2 2 1 1      . 0 1 1 0
. 0  4   16 . . . 0 1      . 1 0 0 0
0 0 34 1156 0 4 1 1 1      . 0 0 0 0
0 0 53 2809 0 1 1 1 0      . 0 0 1 0
0 0 68 4624 1 2 1 1 1      . 0 0 0 1
1 0  8   64 0 6 6 0 0      . 2 0 0 0
0 0 29  841 0 1 1 1 0      . 0 1 1 0
0 0 33 1089 0 2 1 1 1      . 2 0 1 0
0 0 46 2116 0 3 3 1 1      . 1 1 1 0
0 0 30  900 0 1 1 1 1      . 2 0 0 0
0 1 26  676 0 1 1 1 0 100.95 0 0 1 1
0 1 37 1369 0 1 1 0 0      . 2 1 0 2
0 0 17  289 1 2 1 1 0      . 0 1 1 0
0 0 21  441 1 1 1 1 1      . 0 1 1 0
. 0  3    9 . . . 0 0      . 0 0 1 0
. 0  0    0 . . . 0 1      . 0 0 1 0
0 0 56 3136 0 1 1 1 0      . 0 0 0 0
1 0 11  121 0 4 4 0 0      . 2 1 0 0
. 0  1    1 . . . 0 0      . 0 1 1 0
0 0 20  400 0 1 1 1 0      . 0 1 1 0
1 0  8   64 0 2 3 0 1      . 3 0 1 0
0 0 21  441 1 1 1 1 0      . 0 0 1 0
0 0 29  841 0 1 1 1 0      . 1 0 1 0
1 0 11  121 1 1 4 0 1      . 2 0 0 0
1 0 18  324 0 2 1 0 0      . 0 2 2 0
0 0 25  625 1 3 4 1 1      . 0 1 1 0
1 0  7   49 0 6 7 0 0      . 2 0 0 0
0 0 27  729 0 1 1 1 1      . 1 0 1 0
0 0 30  900 0 1 1 1 1      . 1 0 0 0
0 0 38 1444 0 1 1 1 0      . 2 0 0 0
0 0 55 3025 0 1 1 1 0      . 0 0 1 0
0 0 51 2601 0 1 1 1 0      . 0 2 1 0
0 0 48 2304 0 3 1 1 1      . 0 0 0 0
1 0 15  225 1 4 4 0 0      . 2 0 1 0
0 0 60 3600 0 1 1 1 0      . 0 1 0 0
. 0  5   25 . . . 0 0      . 0 0 1 0
0 0 40 1600 0 1 1 1 0      . 1 1 2 0
1 0  7   49 0 4 4 0 0      . 2 0 1 0
. 0  0    0 . . . 0 0      . 0 1 1 0
0 0 16  256 0 1 1 0 0      . 3 0 1 0
1 0 16  256 0 1 1 0 1      . 0 1 1 0
0 0 41 1681 0 1 1 1 0      . 2 3 0 0
0 0 21  441 0 1 3 0 1      . 0 2 1 0
0 0 70 4900 0 1 1 1 0      . 0 0 1 1
end
label values school dummy_label
label def dummy_label 0 "No", modify
label def dummy_label 1 "Yes", modify
label values migrant migrantdum
label def migrantdum 0 "no", modify
label def migrantdum 1 "yes", modify
label values eldest eldest1
label def eldest1 0 "not eldest", modify
label def eldest1 1 "eldest", modify
label values fteducst educlvl1
label values mteducst educlvl1
label def educlvl1 1 "Illiterate", modify
label def educlvl1 2 "Reads & Writes", modify
label def educlvl1 3 "Less than Intermediate", modify
label def educlvl1 4 "Intermediate", modify
label def educlvl1 6 "University", modify
label def educlvl1 7 "Post-Graduate", modify
label values fth_absent absent1
label def absent1 0 "not absent", modify
label def absent1 1 "absent", modify
label values urban1 dummy_urban
label def dummy_urban 0 "rural", modify
label def dummy_urban 1 "urban", modify
I am aware of the missing values in "oilpricewhenmigrantis31", this is because not all respondents stated the year when the migrant member turned 31, moreover, if migrant == 0 (no migrant in the household), oilpricewhenmigrantis31 is missing.