Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Polaris A3 story Alexander Levakov, Senior Research Fellow, Ph.D May 28, 2021 Figure 1: Polaris Polaris The UGM-27 Polaris missile was a two-stage solid-fueled nuclear-armed submarine-launched ballistic missile (SLBM). As the United States Navy’s first SLBM, it served from 1961 to 1996. For more see: 1. https://en.wikipedia.org/wiki/UGM-27_Polaris 2. http://www.astronautix.com/p/polarisa3.html 1 Table 1: SLBM data S 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 2 2 2 3 3 2 2 2 2 2 M 5400 13700 19650 14200 14200 14200 33300 33300 26900 35300 35300 35300 90000 40300 40800 36800 13600 16200 29485 32000 57500 20000 19500 19950 14700 23000 L 10.40 11.80 14.20 8.89 8.89 9.65 13.00 13.00 10.60 14.10 14.10 14.10 16.00 14.80 14.80 11.50 9.45 9.86 10.36 10.36 13.42 10.70 10.70 10.40 10.70 13.00 D 0.58 1.30 1.30 1.50 1.50 1.50 1.80 1.80 1.54 1.80 1.80 1.80 2.40 1.90 1.90 2.00 1.37 1.37 1.88 1.88 2.11 1.50 1.50 1.50 1.40 2.00 R 150 650 1420 2400 3000 3000 7800 9100 3900 6500 8000 6500 8300 8300 8300 9300 2800 4630 5600 7400 11000 3000 3200 3200 2500 8000 P 975 1597 1179 650 650 650 1100 1100 450 1600 1600 1600 2550 2300 2800 1150 500 760 2000 1360 2880 1360 1360 1000 600 700 W 1 1 1 1 1 2 1 1 1 2 1 2 2 2 2 2 1 2 2 2 2 1 1 1 1 2 3. https://web.archive.org/web/20170123163450/http://www.designation-systems.net/dusrm/m-27.html SLBM data load("slbm.dat") #library(DT) library(knitr) #datatable(slbm) kable(slbm,format="latex", caption = "SLBM data") Correlations 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", ...) + 2 } p geom_smooth(method=lm, fill="blue", color="blue", ...) g = ggpairs(slbm,columns = 2:6, lower = list(continuous = my_fn)) g R P Corr: 0.728*** Corr: 0.831*** Corr: 0.751*** Corr: 0.740*** Corr: 0.569** Corr: 0.604** Corr: 0.699*** Corr: 0.869*** Corr: 0.571** D Corr: 0.567** R 1e−05 D L 2e−05 L M M 0e+00 20 15 10 3 2 1 15000 10000 5000 0 P 4000 3000 2000 1000 0 250005000075000 10 12 14 160.5 1.0 1.5 2.0 heatmap(cor(slbm)) 3 0 300060009000 1000 2000 3000 R D S M P L R D S M P L W W Bayesian Linear Regression Model library(rstan) library(rstanarm) library(bayesplot) options(mc.cores = parallel::detectCores()) load("slbm.dat") fit.slbm.bs<-stan_glm(sqrt(R)~S+D+L+W+log(M)+log(P), data=slbm,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: 26 predictors: 7 -----Median MAD_SD (Intercept) -41.1 107.2 S 9.4 5.2 D 37.3 19.6 L 0.8 1.7 W 3.3 5.6 log(M) 6.7 15.0 log(P) -7.3 6.0 4 ## ## ## ## ## ## ## Auxiliary parameter(s): Median MAD_SD sigma 10.2 1.7 -----* For help interpreting the printed output see ?print.stanreg * For info on the priors used see ?prior_summary.stanreg plot(fit.slbm.bs) (Intercept) S D L W log(M) log(P) sigma −200 −100 0 posterior_vs_prior(fit.slbm.bs) 5 100 Posterior Prior 2000 parameter D (Intercept) L log(M) log(P) S sigma W 1000 0 −1000 −2000 D (In L log log S ter (M (P) cep ) t) sig W ma D (In L log log S ter (M (P) cep ) t) Parameter fit.slbm.bs2<-as.array(fit.slbm.bs) mcmc_hist(fit.slbm.bs2) 6 sig W ma (Intercept) −500 −250 0 S 250 500 −20 0 L −5 0 5 −20 20 −50 0 W 10 −20 0 log(P) −40 D 0 50 100 log(M) 20 −50 0 50 sigma 20 5 10 15 20 25 mcmc_trace(fit.slbm.bs2) (Intercept) 500 250 0 −250 −500 S D 100 50 0 −50 20 0 −20 0 10002000300040005000 0 10002000300040005000 L 0 10002000300040005000 W log(M) 10 5 20 50 0 0 0 −5 −20 −50 0 10002000300040005000 0 10002000300040005000 log(P) sigma 25 20 15 10 20 0 −20 −40 0 10002000300040005000 0 10002000300040005000 7 0 10002000300040005000 Chain 1 2 3 4 summary(fit.slbm.bs) ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## Model Info: function: family: formula: algorithm: sample: priors: observations: predictors: Estimates: (Intercept) S D L W log(M) log(P) sigma stan_glm gaussian [identity] sqrt(R) ~ S + D + L + W + log(M) + log(P) sampling 20000 (posterior sample size) see help('prior_summary') 26 7 mean -41.4 9.4 37.2 0.8 3.2 6.7 -7.3 10.4 sd 10% 110.0 -178.1 5.3 2.7 20.5 11.7 1.8 -1.4 5.8 -4.1 15.8 -13.0 6.2 -15.2 1.8 8.3 50% -41.1 9.4 37.3 0.8 3.3 6.7 -7.3 10.2 90% 96.4 16.1 62.6 3.1 10.5 26.2 0.5 12.8 Fit Diagnostics: mean sd 10% 50% 90% mean_PPD 69.0 2.9 65.3 69.0 72.7 The mean_ppd is the sample average posterior predictive distribution of the outcome variable (for det MCMC diagnostics mcse (Intercept) 1.1 S 0.0 D 0.2 L 0.0 W 0.1 log(M) 0.2 log(P) 0.1 sigma 0.0 mean_PPD 0.0 log-posterior 0.0 Rhat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 n_eff 9162 13466 9822 12332 13064 8766 15290 11985 19056 6342 For each parameter, mcse is Monte Carlo standard error, n_eff is a crude measure of effective sample Polaris A3 Operational Range slbm.pp <- posterior_predict(fit.slbm.bs, newdata = data.frame(L=9.86,D=1.37,S=2,W=2, M=16200,P=760),seed=12345) #Note. Input parameters for the model #http://www.astronautix.com/p/polarisa3.html 8 Figure 2: Polaris SLBM 9 Range.km <- slbm.pp^2 Range.km <- Range.km[1:10000,] quantile(Range.km,probs = c(0.05,0.5,0.95)) ## 5% 50% 95% ## 1553.025 3478.665 6211.902 library(grid) Range.km <- slbm.pp^2 Range.km <- Range.km[1:10000,] 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.05), xmax=quantile(Range.km,0.95)), data=as.data.frame(Range.km), col="#0094EA", size=3) + ggtitle(label="Probability density of Polaris A3 range") Probability density of Polaris A3 range count 1000 500 0 0 4000 8000 12000 Range.km A3 Flight Test Program Source: https://fas.org/nuke/guide/usa/slbm/a-3.htm The first A3 flight test was conducted at Cape Canaveral on 7 August 1962. Considering the challenge and redesign involved in the development of the A3 missile, it was not until the seventh development flight that complete success was achieved. It was during the A3 development program that the concept of incorporating production components/processing was first introduced into the development phase of a program (A3X- 18) . (This approach was later to be called “production disciplines.”) During June 1963, the A3X was successfully 10 tested for the first time in a tube-launched firing at sea from the USS Observation Island (EAG-154). The first launching of a POLARIS A3 missile from a submerged submarine, the USS Andrew Jackson (SSBN-619), took place on 26 October 1963. The A3X flight test program started on 7 August 1962 and was completed on 2 July 1964. There were a total of 38 flights, of which 20 were successful, 16 partially successful, and 2 failures. Of the 20 successes, only 15 had successful reentry vehicle operation and ejection. It was only until the 15 A3X flights that the program began to have a continuous series of success. Reentry Vehicle Reliability Estimation Frequentist Case library(binom) library(pwr) binom.test(x = 15,n = 20,p = 0.85,alternative = "less") ## ## ## ## ## ## ## ## ## ## ## Exact binomial test data: 15 and 20 number of successes = 15, number of trials = 20, p-value = 0.1702 alternative hypothesis: true probability of success is less than 0.85 95 percent confidence interval: 0.0000000 0.8959192 sample estimates: probability of success 0.75 pwr.p.test(h = ES.h(15/20,0.95),n=20,alternative = "less") ## ## ## ## ## ## ## ## proportion power calculation for binomial distribution (arcsine transformation) h n sig.level power alternative = = = = = -0.5961707 20 0.05 0.8464445 less Bayesian Case bs <- binom.bayes(x = 15,n = 20) bs ## method x n shape1 shape2 mean lower upper sig ## 1 bayes 15 20 15.5 5.5 0.7380952 0.5534553 0.9100745 0.05000001 binom.bayes.densityplot(bs,npoints = 500,alpha = 0.5) 11 x = 15, n = 20, conf.level = 0.95 4 Beta Density 3 2 1 0 0.00 0.25 0.50 0.75 1.00 Conclusions 1. Polaris A3 was the first SLBM with 4500 km range. Bayesian linear regression model proves this estimation based on historical data. 2. Polaris A3 reliability proved by test flight program made the Soviet Union to count US strategic nuclear power as deterreent factor after Cuban missile crisis in 1962. 12