Pershing II

Pershing II

Pershing II

The MGM-31B Pershing II was medium-range, road-mobile, solid fueled ballistic missile developed by the United States for use against the Soviet Union.

For more see: https://missilethreat.csis.org/missile/mgm-31b-pershing-2/

Based on the Pershing I and IA missiles, the Pershing II contained technological and operational improvements that resulted in greater range and accuracy. The accuracy was improved by the use of a new radar area correlation guidance system that compared incoming targets with images recorded on its computer memory.

INF Treaty

In 1987, U.S. President Ronald Reagan and Soviet Premier Mikhail Gorbachev signed the Intermediate Nuclear Forces (INF) Treaty that called for a ban of all land-based intermediate-range missiles, including the Pershing II.

“The Treaty Between the United States of America and the Union of Soviet Socialist Republics on the Elimination of Their Intermediate-Range and Shorter-Range Missiles, commonly referred to as the INF (Intermediate-Range Nuclear Forces) Treaty, requires destruction of the Parties’ ground-launched ballistic and cruise missiles with ranges of between 500 and 5,500 kilometers, their launchers and associated support structures and support equipment within three years after the Treaty enters into force.”

See: https://www.state.gov/t/avc/trty/102360.htm

SLBM data

load("slbm.dat")
library(DT)
datatable(slbm)
library(ggplot2)
library(GGally)
#Here we use function from https://www.r-bloggers.com/multiple-regression-lines-in-ggpairs/
my_fn <- function(data, mapping, ...){
  p <- ggplot(data = data, mapping = mapping) + 
    geom_point() + 
    geom_smooth(method=loess, fill="red", color="red", ...) +
    geom_smooth(method=lm, fill="blue", color="blue", ...)
  p
}

g = ggpairs(slbm,columns = 2:6, lower = list(continuous = my_fn))
g

Bayesian Linear Regression Model

library(rstanarm)
## Loading required package: Rcpp
## rstanarm (Version 2.17.3, packaged: 2018-02-17 05:11:16 UTC)
## - Do not expect the default priors to remain the same in future rstanarm versions.
## Thus, R scripts should specify priors explicitly, even if they are just the defaults.
## - For execution on a local, multicore CPU with excess RAM we recommend calling
## options(mc.cores = parallel::detectCores())
## - Plotting theme set to bayesplot::theme_default().
library(bayesplot)
## This is bayesplot version 1.4.0
## - Plotting theme set to bayesplot::theme_default()
## - Online documentation at mc-stan.org/bayesplot
options(mc.cores = parallel::detectCores())
load("slbm.dat")


fit.slbm.bs.4<-stan_glm(sqrt(R)~S+D+L+W+log(M)+log(P),
                        data=slbm,chains=4,iter=10000,seed=12345)
fit.slbm.bs.4
## stan_glm
##  family:       gaussian [identity]
##  formula:      sqrt(R) ~ S + D + L + W + log(M) + log(P)
##  observations: 26
##  predictors:   7
## ------
##             Median MAD_SD
## (Intercept) -40.6  106.7 
## S             9.4    5.1 
## D            37.4   19.8 
## L             0.9    1.7 
## W             3.3    5.6 
## log(M)        6.5   15.0 
## log(P)       -7.3    6.0 
## sigma        10.2    1.7 
## 
## Sample avg. posterior predictive distribution of y:
##          Median MAD_SD
## mean_PPD 69.0    2.8  
## 
## ------
## For info on the priors used see help('prior_summary.stanreg').
plot(fit.slbm.bs.4)

posterior_vs_prior(fit.slbm.bs.4)
## 
## Drawing from prior...

fit.slbm.bs42<-as.array(fit.slbm.bs.4)
mcmc_hist(fit.slbm.bs42)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

mcmc_trace(fit.slbm.bs42)

summary(fit.slbm.bs.4)
## 
## Model Info:
## 
##  function:     stan_glm
##  family:       gaussian [identity]
##  formula:      sqrt(R) ~ S + D + L + W + log(M) + log(P)
##  algorithm:    sampling
##  priors:       see help('prior_summary')
##  sample:       20000 (posterior sample size)
##  observations: 26
##  predictors:   7
## 
## Estimates:
##                 mean   sd     2.5%   25%    50%    75%    97.5%
## (Intercept)    -40.0  109.1 -254.9 -112.3  -40.6   31.7  175.7 
## S                9.4    5.4   -1.2    5.9    9.4   12.9   20.2 
## D               37.4   20.3   -2.6   24.1   37.4   50.9   77.4 
## L                0.9    1.8   -2.7   -0.3    0.9    2.0    4.4 
## W                3.2    5.8   -8.5   -0.5    3.3    7.1   14.8 
## log(M)           6.4   15.6  -24.3   -3.6    6.5   16.6   37.0 
## log(P)          -7.3    6.2  -19.5  -11.3   -7.3   -3.3    5.0 
## sigma           10.4    1.8    7.6    9.2   10.2   11.4   14.6 
## mean_PPD        69.0    2.9   63.2   67.1   69.0   70.9   74.7 
## log-posterior -110.5    2.4 -116.3 -111.8 -110.1 -108.8 -107.1 
## 
## Diagnostics:
##               mcse Rhat n_eff
## (Intercept)   1.2  1.0   8809
## S             0.0  1.0  12972
## D             0.2  1.0   9063
## L             0.0  1.0  12118
## W             0.1  1.0  11991
## log(M)        0.2  1.0   8316
## log(P)        0.1  1.0  13099
## sigma         0.0  1.0  10055
## mean_PPD      0.0  1.0  19069
## log-posterior 0.0  1.0   6234
## 
## For each parameter, mcse is Monte Carlo standard error, n_eff is a crude measure of effective sample size, and Rhat is the potential scale reduction factor on split chains (at convergence Rhat=1).

Pershing II Operational Range

slbm.pp4 <- posterior_predict(fit.slbm.bs.4,
                              newdata = data.frame(L=10.6,D=1.02,S=2,W=1,M=7490,P=400),
                              seed = 12345)
Range.km <- slbm.pp4^2
Range.km <- Range.km[1:10000,]
quantile(Range.km,probs = c(0.1,0.5,0.9))
##       10%       50%       90% 
##  626.1476 1835.8090 3734.4295
ggplot(data=as.data.frame(Range.km), aes(Range.km)) + 
  geom_histogram(bins = 30,col="black",fill="green") + 
  geom_vline(xintercept = mean(Range.km), color = "red") + 
  geom_errorbarh(aes(y=-5, x=mean(Range.km), xmin=quantile(Range.km,0.1),
                     xmax=quantile(Range.km,0.9)), 
                 data=as.data.frame(Range.km), col="#0094EA", size=3) +
  ggtitle(label="Probability density of Pershing II range",
          subtitle = "P(626<Range.km<3734)=0.8")

Conclusions

1.Applying Bayesian linear regression model for SLBM data (M,P,D,L,S,W) we can produce posterior distribution sample given Pershing II data (M=7490 kg,P=400 kg,D=1.02 m,L=10.6 m,S=2,W=1) with 80% credible interval \(P(626\le Range\le3734)=0.8\) and the mean \(Range=1835\)

2.Pershing II had operational Range corresponding to INF treaty.