你如何在 R 中绘制 Probit 回归?

How Do You Plot a Probit Regression in R?

我是 R 的新手,所以这看起来像是一个基本问题;鉴于个人是男性,我正在尝试估计被雇用的概率回归。我想我的 probit 模型是正确的,但我无法绘制它。下面是我的数据集中的前 10 行,总共有 60,000 行。如您所见,我创建了 5 个虚拟变量:'Male'、'LeavingCert'、'Bachelors'、'Married' 和 'Employed'; (尽管 Employed 列中的前 10 行是 0,但完整数据集的情况并非如此。但是;0 明显多于 1,也许这是我的问题?)

Top10 <- head(data,10)
Top10

# A tibble: 10 × 10
    ...1   SEX MARSTAT MAINSTAT EDUCLEV4  Male LeavingCert Bachelors Married Employed
   <dbl> <dbl>   <dbl>    <dbl>    <dbl> <dbl>       <dbl>     <dbl>   <dbl>    <dbl>
 1     1     2       2        6        9     0           0         0       1        0
 2     2     2       1        2        9     0           0         0       0        0
 3     3     2       1        2        9     0           0         0       0        0
 4     4     2       2        2        9     0           0         0       1        0
 5     5     2       1        5        6     0           0         1       0        0
 6     6     1       2        3        9     1           0         0       1        0
 7     7     1       2        2        9     1           0         0       1        0
 8     8     2       3        2        9     0           0         0       0        0
 9     9     2       2        2        9     0           0         0       1        0
10    10     1       1        4        9     1           0         0       0        0

对于我的 'Probit1' 模型,我的 Y 是 'Employed',我的 X 是 'Male'。我的代码如下;

Probit1 <- glm(Employed ~ Male, 
               family = binomial(link = "probit"), 
               data = data)
summary(Probit1)

我尝试按如下方式绘制概率回归图;

# plot data
plot(x = data$Male, 
     y = data$Employed,
     main = "Probit Model of the Probability of Employed, Given Male",
     xlab = "Male",
     ylab = "Employed",
     pch = 20,
     ylim = c(-0.4, 1.4),
     cex.main = 0.85)

# add horizontal dashed lines and text
abline(h = 1, lty = 2, col = "darkred")
abline(h = 0, lty = 2, col = "darkred")
text(2.5, 0.9, cex = 0.8, "Empolyed")
text(2.5, -0.1, cex= 0.8, "Unemployed")

# add estimated regression line
x <- seq(0, 3, 0.01)
y <- predict(Probit1, list(Male = x), type = "response")

lines(x, y, lwd = 1.5, col = "steelblue")

这是我得到的情节,它似乎不正确?

我的数据有问题吗?

非常感谢任何帮助,如果这不可能,我可以做另一个情节吗?提前致谢。

总结(Probit1)

> summary(Probit1)

Call:
glm(formula = Employed ~ Male, family = binomial(link = "probit"), 
    data = data)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-0.2777  -0.2777  -0.2742  -0.2742   2.5689  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)    
(Intercept) -1.78787    0.01299 -137.67   <2e-16 ***
Male         0.01141    0.01871    0.61    0.542    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 19747  on 61939  degrees of freedom
Residual deviance: 19747  on 61938  degrees of freedom
AIC: 19751

Number of Fisher Scoring iterations: 5

table(数据$男,数据$就业)

> table(data$Male, data$Employed)
   
        0     1
  0 31165  1194
  1 28462  1119

感谢您添加回归摘要和 table。从回归总结我们可以看出,男性的系数真的很小(而且不显着):

Male         0.01141    0.01871    0.61    0.542 

那个小系数意味着,男性只会增加最小的就业机会,所以这是有道理的,我们在图中看不到它,因为变化太小,斜率很小。

正在查看 table

 > table(data$Male, data$Employed)
   
        0     1
  0 31165  1194
  1 28462  1119

我们可以确认,在数字上或视觉上没有令人印象深刻的增加: 1194/(1194+31165) = 3,7%1119/(1119+28462) = 3,8%。 您不能指望在您的情节中看到 .1% 的增长。

Are my data the problem?

他们就是原因。不知道有没有问题。