We simulate the peer effect model with reflection problem and use OLS and IV method to estimate the peer effect coefficient.

Case 1: No correlation in random errors

True peer effect parameter value: 0.3

summary(peer_effect_ols)$coefficients
                Estimate Std. Error    t value      Pr(>|t|)
(Intercept) -0.005663086 0.01223560 -0.4628367  6.434969e-01
X_bar        0.535175042 0.02070905 25.8425670 2.916938e-140
summary(peer_effect_iv)$coefficients
                Estimate Std. Error    t value   Pr(>|t|)
(Intercept) -0.008371936 0.01255374 -0.6668877 0.50486755
X_bar        0.312833226 0.18890976  1.6559929 0.09777151
cor(X_bar,epsilon)
[1] 0.1394578
cor(X_bar,Z_bar)
[1] 0.1105915
cor(Z_bar,epsilon)
[1] 0.0008416066

Case 2: Positive correlation in random errors

True peer effect parameter value: 0.3

summary(peer_effect_ols_positivecorrelation_error)$coefficients
                Estimate  Std. Error   t value      Pr(>|t|)
(Intercept) -0.002809042 0.004495511 -0.624855  5.320851e-01
X_bar        0.682029738 0.017122845 39.831567 3.998173e-315
summary(peer_effect_iv_positivecorrelation_error)$coefficients
                Estimate Std. Error   t value   Pr(>|t|)
(Intercept) -0.006206147 0.00486003 -1.276977 0.20164960
X_bar        0.297493685 0.16350625  1.819464 0.06888026
cor(X_bar,epsilon)
[1] 0.2485498
cor(X_bar,Z_bar)
[1] 0.1081596
cor(Z_bar,epsilon)
[1] -0.0001763668

Case 3: Negative correlation in random errors

True peer effect parameter value: 0.1

summary(peer_effect_ols_negativecorrelation_error)$coefficients
                 Estimate  Std. Error     t value     Pr(>|t|)
(Intercept) -0.0002696927 0.003359994 -0.08026582 9.360269e-01
X_bar        0.2358328758 0.018053772 13.06280340 8.733062e-39
summary(peer_effect_iv_negativecorrelation_error)$coefficients
                 Estimate  Std. Error     t value   Pr(>|t|)
(Intercept) -0.0002444271 0.003362187 -0.07269883 0.94204674
X_bar        0.3074223709 0.154550567  1.98913778 0.04670408
cor(X_bar,epsilon)
[1] -0.02897125
cor(X_bar,Z_bar)
[1] 0.1168757
cor(Z_bar,epsilon)
[1] 0.0003916712
LS0tCnRpdGxlOiAiSVYgc2ltdWxhdGlvbiIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKV2Ugc2ltdWxhdGUgdGhlIHBlZXIgZWZmZWN0IG1vZGVsIHdpdGggcmVmbGVjdGlvbiBwcm9ibGVtIGFuZCB1c2UgT0xTIGFuZCBJViBtZXRob2QgdG8gZXN0aW1hdGUgdGhlIHBlZXIgZWZmZWN0IGNvZWZmaWNpZW50LgoKIyMgQ2FzZSAxOiBObyBjb3JyZWxhdGlvbiBpbiByYW5kb20gZXJyb3JzCgpUcnVlIHBlZXIgZWZmZWN0IHBhcmFtZXRlciB2YWx1ZTogMC4zCgotIE9MUyByZWdyZXNzaW9uCgpgYGB7cn0Kc3VtbWFyeShwZWVyX2VmZmVjdF9vbHMpJGNvZWZmaWNpZW50cwpgYGAKCi0gSVYgcmVncmVzc2lvbgoKYGBge3J9CnN1bW1hcnkocGVlcl9lZmZlY3RfaXYpJGNvZWZmaWNpZW50cwpgYGAKCi0gQ29ycmVsYXRpb24gU3RydWN0dXJlCgpgYGB7cn0KY29yKFhfYmFyLGVwc2lsb24pCmNvcihYX2JhcixaX2JhcikKY29yKFpfYmFyLGVwc2lsb24pCmBgYAoKCiMjIENhc2UgMjogUG9zaXRpdmUgY29ycmVsYXRpb24gaW4gcmFuZG9tIGVycm9ycwoKVHJ1ZSBwZWVyIGVmZmVjdCBwYXJhbWV0ZXIgdmFsdWU6IDAuMwoKLSBPTFMgcmVncmVzc2lvbgoKYGBge3J9CnN1bW1hcnkocGVlcl9lZmZlY3Rfb2xzX3Bvc2l0aXZlY29ycmVsYXRpb25fZXJyb3IpJGNvZWZmaWNpZW50cwpgYGAKCi0gSVYgcmVncmVzc2lvbgoKYGBge3J9CnN1bW1hcnkocGVlcl9lZmZlY3RfaXZfcG9zaXRpdmVjb3JyZWxhdGlvbl9lcnJvcikkY29lZmZpY2llbnRzCmBgYAoKLSBDb3JyZWxhdGlvbiBTdHJ1Y3R1cmUKCmBgYHtyfQpjb3IoWF9iYXIsZXBzaWxvbikKY29yKFhfYmFyLFpfYmFyKQpjb3IoWl9iYXIsZXBzaWxvbikKYGBgCgojIyBDYXNlIDM6IE5lZ2F0aXZlIGNvcnJlbGF0aW9uIGluIHJhbmRvbSBlcnJvcnMKClRydWUgcGVlciBlZmZlY3QgcGFyYW1ldGVyIHZhbHVlOiAwLjEKCi0gT0xTIHJlZ3Jlc3Npb24KCmBgYHtyfQpzdW1tYXJ5KHBlZXJfZWZmZWN0X29sc19uZWdhdGl2ZWNvcnJlbGF0aW9uX2Vycm9yKSRjb2VmZmljaWVudHMKYGBgCgotIElWIHJlZ3Jlc3Npb24KCmBgYHtyfQpzdW1tYXJ5KHBlZXJfZWZmZWN0X2l2X25lZ2F0aXZlY29ycmVsYXRpb25fZXJyb3IpJGNvZWZmaWNpZW50cwpgYGAKCi0gQ29ycmVsYXRpb24gU3RydWN0dXJlCgpgYGB7cn0KY29yKFhfYmFyLGVwc2lsb24pCmNvcihYX2JhcixaX2JhcikKY29yKFpfYmFyLGVwc2lsb24pCmBgYAoK