SS-20/Pioneer
The RSD-10 Pioneer (Russian: ракета средней дальности (РСД) «Пионер» tr.: raketa sredney dalnosti (RSD) “Pioner”; English: Medium-Range Missile “Pioneer”) was an intermediate-range ballistic missile with a nuclear warhead, deployed by the Soviet Union from 1976 to 1988. It carried GRAU designation 15Zh45. Its NATO reporting name was SS-20 Saber.
For more see:
https://en.wikipedia.org/wiki/RSD-10_Pioneer
http://rbase.new-factoria.ru/missile/wobb/pioner/pioner.shtml
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
We apply SLBM data frame without SS-N-32 data for the purpose of model accuracy i.e to be free of noise in our data.
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())
fit.slbm.bs<-stan_glm(sqrt(R)~S+D+L+W+log(M)+log(P),
data=slbm[-16,],chains=4,iter=10000,seed=12345)
fit.slbm.bs
## stan_glm
## family: gaussian [identity]
## formula: sqrt(R) ~ S + D + L + W + log(M) + log(P)
## observations: 25
## predictors: 7
## ------
## Median MAD_SD
## (Intercept) -40.0 110.2
## S 9.4 5.5
## D 37.1 20.3
## L 0.9 1.8
## W 3.2 5.7
## log(M) 6.5 15.7
## log(P) -7.4 6.1
## sigma 10.5 1.8
##
## Sample avg. posterior predictive distribution of y:
## Median MAD_SD
## mean_PPD 67.9 3.0
##
## ------
## 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: 20000 (posterior sample size)
## observations: 25
## predictors: 7
##
## Estimates:
## mean sd 2.5% 25% 50% 75% 97.5%
## (Intercept) -40.0 114.0 -265.1 -114.8 -40.0 33.7 189.6
## S 9.4 5.6 -1.6 5.7 9.4 13.1 20.6
## D 37.3 21.2 -4.7 23.6 37.1 50.9 79.8
## L 0.9 1.9 -2.8 -0.3 0.9 2.1 4.5
## W 3.1 6.0 -8.7 -0.7 3.2 7.0 15.1
## log(M) 6.5 16.3 -26.7 -4.1 6.5 17.1 38.7
## log(P) -7.4 6.5 -20.3 -11.5 -7.4 -3.3 5.5
## sigma 10.8 1.9 7.8 9.4 10.5 11.8 15.2
## mean_PPD 68.0 3.1 61.8 65.9 67.9 70.0 74.1
## log-posterior -107.5 2.4 -113.3 -108.8 -107.1 -105.7 -104.0
##
## Diagnostics:
## mcse Rhat n_eff
## (Intercept) 1.2 1.0 9010
## S 0.0 1.0 14324
## D 0.2 1.0 9847
## L 0.0 1.0 12107
## W 0.1 1.0 14134
## log(M) 0.2 1.0 8580
## log(P) 0.1 1.0 14045
## sigma 0.0 1.0 10090
## mean_PPD 0.0 1.0 18807
## log-posterior 0.0 1.0 5926
##
## 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).
Here we use open source data (see above) for the Bayesian linear regression model. The value for diameter is adopted for two stages as the mean \(D=(D_{1}+D_{2})/2\)
slbm.pp <- posterior_predict(fit.slbm.bs,
newdata = data.frame(L=16.5,D=1.65,S=2,W=2,
M=37000,P=1740),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%
## 3314.406 5543.618 8325.102
mean(Range.km<7400)
## [1] 0.814
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 SS-20 range")
1.Applying Bayesian linear regression model for SLBM data (M,P,D,L,S,W) we can produce posterior distribution sample given SS-20 data (M=37000 kg,P=1740 kg,D=1.65 m,L=16.5 m,S=2,W=2) with 80% credible interval \(P(3314\le Range\le8325)=0.8\) and the mean \(Range=5544\).
2.SS-20 had operational Range corresponding to IRBM which could hit any possible target Europe wide.
3.SS-20 Mod3 (SS-X-28) could reach the range of 7400 km with 81% probability according to the Bayesian model results.