DF-26

DF-26

DF-26

The DF-26 is a road-mobile, two-stage solid-fueled IRBM with an antiship variant possibly also in development. According to Chinese sources, the missile measures 14 m in length, 1.4 m in diameter, and has a launch weight of 20,000 kg. The missile has a range of 3,000-4,000 km, putting major U.S. military facilities, including those in Guam, within striking distance. The DF-26 comes with a “modular design,” meaning that the launch vehicle can accommodate two types of nuclear warheads and several types of conventional warheads. The accuracy of the DF-26 is uncertain, with speculators estimating the CEP at intermediate range between 150-450 meters.

For more see:

1.https://missilethreat.csis.org/missile/dong-feng-26-df-26/
2.https://en.wikipedia.org/wiki/DF-26

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)
library(bayesplot)

options(mc.cores = parallel::detectCores())

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

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

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

mcmc_trace(fit.slbm.bs2)

summary(fit.slbm.bs)
## 
## 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:       10000 (posterior sample size)
##  observations: 26
##  predictors:   7
## 
## Estimates:
##                 mean   sd     2.5%   25%    50%    75%    97.5%
## (Intercept)    -40.2  108.7 -253.0 -112.2  -39.9   30.1  174.2 
## S                9.4    5.4   -1.6    5.9    9.4   12.8   20.3 
## D               37.4   20.2   -1.8   24.0   37.5   50.7   77.8 
## L                0.9    1.8   -2.7   -0.3    0.9    2.0    4.3 
## W                3.2    5.9   -8.6   -0.6    3.3    7.1   14.8 
## log(M)           6.5   15.5  -24.4   -3.5    6.3   16.8   36.5 
## log(P)          -7.3    6.2  -19.5  -11.3   -7.4   -3.3    4.9 
## sigma           10.4    1.8    7.6    9.1   10.2   11.5   14.7 
## mean_PPD        69.0    3.0   63.1   67.1   69.0   70.9   74.8 
## log-posterior -110.6    2.4 -116.3 -111.9 -110.2 -108.8 -107.1 
## 
## Diagnostics:
##               mcse Rhat n_eff
## (Intercept)   1.6  1.0  4702 
## S             0.1  1.0  6313 
## D             0.3  1.0  4814 
## L             0.0  1.0  6093 
## W             0.1  1.0  6133 
## log(M)        0.2  1.0  4466 
## log(P)        0.1  1.0  6369 
## sigma         0.0  1.0  4220 
## mean_PPD      0.0  1.0  9422 
## log-posterior 0.0  1.0  3065 
## 
## 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).

DF-26 Operational Range

Here we use open source data (see above) for the Bayesian linear regression model.

slbm.pp <- rstanarm::posterior_predict(fit.slbm.bs,
          newdata = data.frame(L=14,D=1.4,S=2,W=1,
                               M=20000,P=1800),seed=12345)

Range.km <- slbm.pp^2
Range.km <- Range.km[1:10000,]
quantile(Range.km,probs = c(0.1,0.5,0.9))
##      10%      50%      90% 
## 1629.949 3089.265 4953.897
mean(Range.km<5000)
## [1] 0.9044
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, 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 DF-26 Range")

Conclusions

1.Applying Bayesian linear regression model for SLBM data (M,P,D,L,S,W) we can produce posterior distribution sample given DF-26 data (M=20000 kg,P=1800 kg,D=1.4 m,L=14 m,S=2,W=1) with 80% credible interval \(P(1630\le Range\le4954)=0.8\) and the mean \(Range=3089\).

2.DF-26 has operational Range corresponding to IRBM which could hit any possible target in the Pacific Ocean region including Guam.