• No results found

V. Conclusions and Future Research

5.2 Future Research

This analysis used only data from 2018 due to limitations in the availability of the HQ EXPRESS data. Further analysis should be conducted as more data becomes available. Further, while this study looked at a subset of ten stock numbers, a more

large-scale modeling procedure would be required to increase confidence in conclusions about any causation between EXPRESS data and MICAPs. This study attempted to relate the EXPRESS data to MICAPs, but many models exhibited poor fit. There may be a different dependent variable of interest that is better impacted by the EXPRESS data. However, there is the possibility that regression-based time series models such as ARDL are simply ill-suited for maintenance data due to noise and volatility. In this case, some of the newer nonlinear time series approaches might be considered. Time series modeling using advanced computing software is a growing field and new models will be developed in the future, some of which may be more appropriate for this data. Additionally, there seems to be randomness involved in this data. Sometimes, even past MICAP values are not an accurate predictor of future MICAPs. With randomness and probabilities involved, stochastic methods or simulation might be more appropriate for future modeling efforts with EXPRESS or MICAP data. Future research might involve examining other assumptions and logic in the Air Force supply chain process instead of the Supportability Module.

Appendix A

Additional ALC Summary Graphs

Figure 24. Summary of Capacity and Funds ALC Data

NIIN 14429628 21 Day ARDL Model Q-Q Plot

Figure 25. Q-Q Plot of Residuals for First ARDL Model

NIIN 14429628 21 Day ARDL Model Residual Plot

Figure 26. Residual Plot for First ARDL Model

NIIN 14696512 7 Day ARDL Model Residual Plot

Figure 27. Residual Plot for First ARDL Model

Additional Model Statistics

Table 13. Additional Statistics for Supplemental Models

NIIN Aircraft Lag Model Res. Std. Error F-statistic

13134227 F-15E 21 1 1.798(df = 213) 1.645***(df = 66;213)

2 1.795(df = 235) 1.994***(df = 44;235)

145395245 C-135 7 1 1.76(df = 269) 4.558***(df = 24;269)

2 1.744(df = 277) 6.764***(df = 16;277)

11428094 C-135 7 1 1.311(df = 269) 2.533***(df = 24;269)

2 1.343(df = 277) 2.315***(df = 16; 277)

12043672 F-16 28 1 0.8256(df = 185) 1.463**(df = 87 ;185)

2 0.8763(df = 214) 1.088(df = 58;214)

12902065 C-135 28 1 1.14(df = 185) 2.032***(df = 87;185)

2 1.131(df = 214) 2.643***(df = 58;214)

11402105 C-135 7 1 1.323(df = 269) 1.408*(df = 24;269)

2 1.32(df = 277) 1.702**(df = 16;277)

792295 B-52

C-135 14 1 0.5086(df = 214) 1.518**(df = 45;241)

2 0.5012(df = 256) 2.08***(df=30;256)

12511153 F-15E 28 1 1.331(df = 185) 1.387**(df = 87;185)

2 1.347(df = 214) 1.458**(df = 58;214)

***p<0.01; **p<0.05; *p<0.1

Appendix B

Packages Used in Analysis l i b r a r y ( d a t a . t a b l e ) l i b r a r y ( zoo )

l i b r a r y ( d p l y r ) l i b r a r y ( i m p u t e T S ) l i b r a r y ( t s e r i e s ) l i b r a r y ( d y n a m a c ) l i b r a r y ( car )

l i b r a r y ( l u b r i d a t e ) l i b r a r y ( c o r r p l o t ) l i b r a r y ( x t a b l e )

MICAP Data Cleaning and Preparation

# I m p o r t d a t a f r o m csv f i l e

M I C A P s ← r e a d . csv ( " M I C A P D a t a v2 . csv " , h e a d e r = T R U E )

# R e m o v e l e a d i n g z e r o e s in N I I N for to m a t c h f o r m a t f r o m E X P R E S S t a b l e s

M I C A P s $ n i i n ← g s u b ( " (? < ! [0 -9]) 0+ " , " " , M I C A P s $ NIIN , p e r l = T R U E )

# R e p l a c e any N U L L v a l u e s w i t h NA for e a s e of use

M I C A P s ← a p p l y ( MICAPs ,2 , f u n c t i o n ( x ) s u p p r e s s W a r n i n g s ( l e v e l s ( x )←sub ( " N U L L " , NA , x ) ) )

M I C A P s ← d a t a . t a b l e ( M I C A P s )

# F o r m a t d a t e c o l u m n s as d a t e s

M I C A P s $ S t a r t D a t e ← as . D a t e ( M I C A P s $ M I C A P . S t a r t . D a t e ) M I C A P s $ S t o p D a t e ← as . D a t e ( M I C A P s $ M I C A P . S t o p . D a t e )

# S u b s e t t i n g to the top 10 N I I N s w i t h m i s s i n g v a l u e s for p a r t s t h a t had at l e a s t 100 M I C A P s in 2 0 1 8

M I C A P _ S u b s e t ← s u b s e t ( MICAPs , n i i n = = 1 3 1 3 4 2 2 7 | n i i n = = 1 4 5 3 9 5 2 4 5 | n i i n = = 1 1 4 2 8 0 9 4 | n i i n = = 1 2 0 4 3 6 7 2 | n i i n = = 1 4 4 2 9 6 2 8 | n i i n

= = 1 4 6 9 6 5 1 2 | n i i n = = 1 2 9 0 2 0 6 5 | n i i n = = 1 1 4 0 2 1 0 5 | n i i n = = 7 9 2 2 9 5 | n i i n = = 1 2 5 1 1 1 5 3 )

# D r o p any o b s e r v a t i o n s t h a t s t a r t e d a f t e r 10 / 31 / 2 0 1 8 M I C A P _ S u b s e t ← M I C A P _ S u b s e t [ M I C A P _ S u b s e t $ S t a r t D a t e <= "

2018 -10 -31 " ]

# F i n d i n g the d u r a t i o n of e a c h u n i q u e M I C A P d o c u m e n t M I C A P _ D u r a t i o n s ← M I C A P _ S u b s e t % >%

g r o u p _ by ( niin , M I C A P . D o c u m e n t . N u m b e r ) % >%

s u m m a r i z e ( S t a r t = min ( S t a r t D a t e ) , End = max ( S t o p D a t e , na . rm = T R U E ) )

# If no m a x i m u m s t o p d a t e was found , t h e n t h e r e w e r e no end d a t e s for t h a t M I C A P on r e c o r d - f i l l in w i t h 10 / 31 / 2 0 1 8 M I C A P _ D u r a t i o n s $ End ← as . c h a r a c t e r ( M I C A P _ D u r a t i o n s $ End ) M I C A P _ D u r a t i o n s $ End [ is . na ( M I C A P _ D u r a t i o n s $ End ) ] ← "

2018 -10 -31 "

M I C A P _ D u r a t i o n s $ End ← as . D a t e ( M I C A P _ D u r a t i o n s $ End )

# C r e a t i n g d a t a t a b l e of e a c h N I I N w i t h e a c h d a t e

# F i r s t d a t e of d a t a is 1 / 3 / 2 0 1 8 and l a s t d a t e is 10 / 31 / 2 0 1 8 t i m e _ s e r i e s _ f u l l ← seq ( ymd ( " 2018 -01 -03 " ) , ymd ( " 2018 -10 -31 " ) ,

by = " day " ) # v e c t o r of r e l e v a n t d a t e s

# C r e a t i n g r e p e a t e d v e c t o r s of e a c h N I I N to c o m b i n e w i t h the d a t e v e c t o r

N I I N s ← c ( 1 3 1 3 4 2 2 7 , 1 4 5 3 9 5 2 4 5 , 1 1 4 2 8 0 9 4 , 1 2 0 4 3 6 7 2 , 1 4 4 2 9 6 2 8 , 1 4 6 9 6 5 1 2 , 1 2 9 0 2 0 6 5 , 1 1 4 0 2 1 0 5 , 792295 , 1 2 5 1 1 1 5 3 )

i = 1

for ( v a l u e in N I I N s ) {

n a m e ← p a s t e ( " N I I N _ " , value , sep = " " )

a s s i g n ( name , rep ( value , l e n g t h ( t i m e _ s e r i e s _ f u l l ) ) ) }

# C o m b i n i n g i n t o one d a t a f r a m e

N I I N _ V e c t o r s ← c ( N I I N _ 1 3 1 3 4 2 2 7 , N I I N _ 1 4 5 3 9 5 2 4 5 , N I I N _ 1 1 4 2 8 0 9 4 , N I I N _ 1 2 0 4 3 6 7 2 , N I I N _ 1 4 4 2 9 6 2 8 , N I I N _ 1 4 6 9 6 5 1 2 , N I I N _ 1 2 9 0 2 0 6 5 , N I I N _ 1 1 4 0 2 1 0 5 , N I I N _ 792295 , N I I N _ 1 2 5 1 1 1 5 3 )

D a t e _ V e c t o r ← rep ( t i m e _ s e r i e s _ full , 1 0 )

# M a k e a b l a n k v e c t o r for n u m b e r of M I C A P s N u m M I C A P s ← rep (0 , l e n g t h ( D a t e _ V e c t o r ) )

# C h e c k " M I C A P _ D u r a t i o n s " for e a c h p a i r of N I I N / d a t e to see if t h a t d a t e is b e t w e e n any of the s t a r t / end d a t e s in t h a t t a b l e

for ( row in 1: l e n g t h ( D a t e _ V e c t o r ) ) {

N I I N ← N I I N _ V e c t o r s [ row ] d a t e ← D a t e _ V e c t o r [ row ]

d a t a s u b s e t ← s u b s e t ( M I C A P _ D u r a t i o n s , n i i n == N I I N )

N u m M I C A P s [ row ] ← sum ( d a t a s u b s e t $ Start <= d a t e & d a t a s u b s e t $ End >= d a t e )

}

# M a k e f i n a l M I C A P d a t a t a b l e

M I C A P s B y N I I N a n d D a t e ← d a t a . t a b l e ( N I I N _ Vectors , D a t e _ Vector , N u m M I C A P s )

c o l n a m e s ( M I C A P s B y N I I N a n d D a t e ) ← c ( " n i i n _ id " , " d a t e " , "

N u m M I C A P s " )

HQ EXPRESS Data Cleaning and Preparation

# I m p o r t d a t a f r o m csv f i l e

HQ _ S u p p ← r e a d . csv ( " HQ spt r e s u l t s v2 . csv " , h e a d e r = T R U E ) HQ _ S u p p ← as . d a t a . t a b l e ( HQ _ S u p p )

# F o r m i n g a m o r e u n d e r s t a n d a b l e d a t e c o l u m n f r o m " D a t e of D a t a "

c o l n a m e s ( HQ _ S u p p ) [1] ← " D a t e O f D a t a "

HQ _ S u p p $ d a t e ← s u b s t r ( HQ _ S u p p $ D a t e O f D a t a ,0 ,10) HQ _ S u p p $ d a t e ← as . D a t e ( HQ _ S u p p $ d a t e )

# R e p l a c i n g c a r c a s s c o d e s - B , F , P are all f a i l u r e s . S is s u c c e s s . New c o l u m n w i l l be 1 if t h e r e was a f a i l u r e . HQ _ S u p p $ C a r c a s s [ ! HQ _ S u p p $ c a r c _ a v a i l == " S " ] ← 1

HQ _ S u p p $ C a r c a s s [ HQ _ S u p p $ c a r c _ a v a i l == " S " ] ← 0

# R e p l a c i n g p a r t s c o d e s - F is a f a i l u r e . B and S are s u c c e s s . New c o l u m n w i l l be 1 if t h e r e was a f a i l u r e . HQ _ S u p p $ P a r t s [ HQ _ S u p p $ p a r t s _ a v a i l == " F " ] ← 1

HQ _ S u p p $ P a r t s [ ! HQ _ S u p p $ p a r t s _ a v a i l == " F " ] ← 0

# C o u n t i n g n u m b e r of f a i l u r e s per N I I N per day for c a r c a s s C a r c a s s _ F a i l u r e s ← HQ _ S u p p % >%

g r o u p _ by ( n i i n _ id , d a t e ) % >%

s u m m a r i z e ( N u m b e r _ F a i l u r e s = sum ( C a r c a s s ) )

# C o u n t i n g n u m b e r of f a i l u r e s per N I I N per day for p a r t s P a r t s _ F a i l u r e s ← HQ _ S u p p % >%

g r o u p _ by ( n i i n _ id , d a t e ) % >%

s u m m a r i z e ( N u m b e r _ F a i l u r e s = sum ( P a r t s ) )

# A d d i n g a c o l u m n to c h e c k if a N I I N f a i l e d for c a r c a s s and p a r t s

HQ _ S u p p $ P a r t s M i s s i n g [ HQ _ S u p p $ C a r c a s s == 1 & HQ _ S u p p $ P a r t s ==

1] ← 1

HQ _ S u p p $ P a r t s M i s s i n g [ is . na ( HQ _ S u p p $ P a r t s M i s s i n g ) ] ← 0

# C o u n t i n g n u m b e r of t i m e s per N I I N per day t h a t t h e r e was a C a r c a s s and P a r t s f a i l u r e

P a r t s _ M i s s i n g ← HQ _ S u p p % >%

g r o u p _ by ( n i i n _ id , d a t e ) % >%

s u m m a r i z e ( N u m b e r _ M i s s i n g = sum ( P a r t s M i s s i n g ) )

# C h a n g e f o r m a t of d a t a t a b l e s so i n f o r m a t i o n can be j o i n e d e a s i l y

C a r c a s s _ F a i l u r e s ← as . d a t a . t a b l e ( C a r c a s s _ F a i l u r e s ) P a r t s _ F a i l u r e s ← as . d a t a . t a b l e ( P a r t s _ F a i l u r e s ) P a r t s _ M i s s i n g ← as . d a t a . t a b l e ( P a r t s _ M i s s i n g )

# J o i n d a t a t a b l e s

HQ _ T a b l e ← c b i n d ( C a r c a s s _ F a i l u r e s , P a r t s _ F a i l u r e s [ ,3] , P a r t s _ M i s s i n g [ ,3])

c o l n a m e s ( HQ _ T a b l e ) [ 3 : 5 ] ← c ( " C a r c a s s _ F a i l u r e s " , " P a r t s _ F a i l u r e s " , " P a r t s _ M i s s i n g " )

# F i n d i n g N I I N s w i t h the m o s t f a i l u r e s o v e r the y e a r HQ _ Y e a r ← HQ _ S u p p % >%

g r o u p _ by ( n i i n _ id ) % >%

s u m m a r i z e ( C a r c _ F a i l u r e s = sum ( C a r c a s s ) , P a r t _ F a i l u r e s = sum ( P a r t s ) , P a r t _ M i s s i n g = sum ( P a r t s M i s s i n g ) )

# V i e w i n g the c o r r e l a t i o n of the v a r i a b l e s

M ← cor ( HQ _ Y e a r [ , c ( " C a r c _ F a i l u r e s " , " P a r t _ F a i l u r e s " , " P a r t _ M i s s i n g " ) ])

c o r r p l o t ( M , m e t h o d = " s q u a r e " )

# C a l c u l a t i n g s u m m a r y p e r c e n t a g e s

t a b l e ( HQ _ Y e a r $ C a r c _ F a i l u r e s ) [1] / dim ( HQ _ Y e a r ) [1] # p e r c e n t of N I I N s w i t h NO c a r c a s s f a i l u r e s in y e a r 2 0 1 8

t a b l e ( HQ _ Y e a r $ P a r t _ F a i l u r e s ) [1] / dim ( HQ _ Y e a r ) [1] # p e r c e n t of N I I N s w i t h NO p a r t s f a i l u r e s in y e a r 2 0 1 8

t a b l e ( HQ _ Y e a r $ P a r t _ M i s s i n g ) [1] / dim ( HQ _ Y e a r ) [1] # p e r c e n t of N I I N s w i t h NO p a r t s m i s s i n g in y e a r 2 0 1 8

# F o r m i n g L a T e X t a b l e s of top o f f e n d i n g N I I N s

x t a b l e ( h e a d ( HQ _ Y e a r [ o r d e r ( HQ _ Y e a r $ C a r c _ F a i l u r e s , d e c r e a s i n g = T R U E ) ,] ,25) [ , c (1 ,2) ] , c a p t i o n = " Top N I I N s for C a r c a s s F a i l u r e s " , d i g i t s = 0)

x t a b l e ( h e a d ( HQ _ Y e a r [ o r d e r ( HQ _ Y e a r $ P a r t _ F a i l u r e s , d e c r e a s i n g = T R U E ) ,] ,25) [ , c (1 ,3) ] , c a p t i o n = " Top N I I N s for P a r t s

F a i l u r e s " , d i g i t s = 0)

x t a b l e ( h e a d ( HQ _ Y e a r [ o r d e r ( HQ _ Y e a r $ P a r t _ Missing , d e c r e a s i n g = T R U E ) ,] ,25) [ , c (1 ,4) ] , c a p t i o n = " Top N I I N s for P a r t s M i s s i n g " , d i g i t s = 0)

Merging Information from HQ and MICAP Data Tables

# S u b s e t t i n g to the top 10 N I I N s for c a r c a s s f a i l u r e s t h a t had at l e a s t 100 M I C A P s in 2 0 1 8 ( at l e a s t 100 u n i q u e M I C A P d o c u m e n t n u m b e r s )

HQ _ S u b s e t ← s u b s e t ( HQ _ Table , n i i n _ id = = 1 3 1 3 4 2 2 7 | n i i n _ id

= = 1 4 5 3 9 5 2 4 5 | n i i n _ id = = 1 1 4 2 8 0 9 4 | n i i n _ id = = 1 2 0 4 3 6 7 2 | n i i n _ id

= = 1 4 4 2 9 6 2 8 | n i i n _ id = = 1 4 6 9 6 5 1 2 | n i i n _ id = = 1 2 9 0 2 0 6 5 | n i i n _ id

= = 1 1 4 0 2 1 0 5 | n i i n _ id = = 7 9 2 2 9 5 | n i i n _ id = = 1 2 5 1 1 1 5 3 )

HQ _ S u b s e t ← HQ _ S u b s e t [ HQ _ S u b s e t $ d a t e <= " 2018 -10 -31 " ]

# M e r g e w i t h M I C A P d a i l y a g g r e g a t e d d a t a

F u l l D a t a ← m e r g e ( HQ _ Subset , M I C A P s B y N I I N a n d D a t e , by = c ( " n i i n _ id

" , " d a t e " ) , all = T R U E )

Preparing Data For Time Series Analysis

# E x t r a c t d a t a for N I I N of i n t e r e s t f r o m the 10 in the t a b l e N I I N _ S u b s e t ← s u b s e t ( F u l l D a t a , n i i n _ id == 1 4 4 2 9 6 2 8 , s e l e c t = c ( " n i i n _ id " , " d a t e " , " C a r c a s s _ F a i l u r e s " , " P a r t s _ F a i l u r e s " , "

P a r t s _ M i s s i n g " , " N u m M I C A P s " ) )

# F o r m u n i v a r i a t e t i m e s e r i e s d a t a s e t s c a r c a s s ← N I I N _ S u b s e t [ ,3]

p a r t s ← N I I N _ S u b s e t [ ,4]

p a r t s _ m i s s i n g ← N I I N _ S u b s e t [ ,5]

num _ m i c a p s ← N I I N _ S u b s e t [ ,6]

c a r c a s s _ f a i l u r e s _ zoo ← zoo ( carcass , N I I N _ S u b s e t $ d a t e ) p a r t s _ f a i l u r e s _ zoo ← zoo ( parts , N I I N _ S u b s e t $ d a t e )

p a r t s _ m i s s i n g _ zoo ← zoo ( p a r t s _ missing , N I I N _ S u b s e t $ d a t e ) num _ m i c a p s _ zoo ← zoo ( num _ micaps , N I I N _ S u b s e t $ d a t e )

# P e r f o r m L O C F m i s s i n g d a t a i m p u t a t i o n

c a r c a s s _ f a i l u r e s _ s m o o t h ← na . l o c f ( c a r c a s s _ f a i l u r e s _ zoo ) p a r t s _ f a i l u r e s _ s m o o t h ← na . l o c f ( p a r t s _ f a i l u r e s _ zoo ) p a r t s _ m i s s i n g _ s m o o t h ← na . l o c f ( p a r t s _ m i s s i n g _ zoo )

ts _ df ← c b i n d ( num _ m i c a p s _ zoo , c a r c a s s _ f a i l u r e s _ smooth , p a r t s _ f a i l u r e s _ smooth , p a r t s _ m i s s i n g _ s m o o t h )

# P l o t s s h o w i n g the i n t e r p o l a t i o n for c a r c a s s f a i l u r e s , can be r e p e a t e d for o t h e r v a r i a b l e s - i m p u t e d v a l u e s are s h o w n in red

par ( mar = c (5 , 5 , 5 , 5) )

p l o t ( c a r c a s s _ f a i l u r e s _ smooth , t y p e = " l " , col = " red " , y l a b

= " N u m b e r of C a r c a s s F a i l u r e s " , x l a b = " D a t e " , m a i n = "

C a r c a s s F a i l u r e s " ) par ( new = T R U E )

p l o t ( c a r c a s s _ f a i l u r e s _ zoo , t y p e = " l " , col = " b l a c k " , x a x t =

" n " , y a x t = " n " , y l a b = " " , x l a b = " " ) # P a r t s

l e g e n d ( " t o p l e f t " , l e g e n d = c ( " O r i g i n a l " , " I m p u t e d " ) , col = c ( "

b l a c k " , " red " ) , f i l l = c ( " b l a c k " , " red " ) , cex = 1)

# P l o t t i n g c a r c a s s f a i l u r e s , p a r t s f a i l u r e s and M I C A P s on the s a m e p l o t w i t h two y a x e s

par ( mar = c (5 , 5 , 5 , 5) )

p l o t ( ts _ df [ ,2] , t y p e = " l " , col = " b l u e " , y l a b = " N u m b e r of F a i l u r e s " , x l a b = " D a t e " ) # C a r c a s s F a i l u r e s

par ( new = T R U E )

p l o t ( ts _ df [ ,3] , t y p e = " l " , col = " d a r k g r e e n " , x a x t = " n " , y a x t = " n " , y l a b = " " , x l a b = " " ) # P a r t s F a i l u r e s

par ( new = T R U E )

p l o t ( ts _ df [ ,1] , t y p e = " l " , col = " red " , x a x t = " n " , y a x t =

" n " , y l a b = " " , x l a b = " " ) # M I C A P s a x i s ( s i d e = 4)

m t e x t ( " N u m b e r of M I C A P s " , s i d e = 4 , l i n e = 3)

l e g e n d ( " t o p l e f t " , l e g e n d = c ( " C a r c a s s F a i l u r e s " , " P a r t s

F a i l u r e s " , " N u m b e r of M I C A P s " ) , col = c ( " b l u e " , " d a r k g r e e n "

, " red " ) , f i l l = c ( " b l u e " , " d a r k g r e e n " , " red " ) , cex = 0 . 8 )

# P l o t t i n g p a r t s m i s s i n g and M I C A P s on the s a m e p l o t w i t h two y a x e s

par ( mar = c (5 , 5 , 5 , 5) )

p l o t ( ts _ df [ ,4] , t y p e = " l " , col = " p u r p l e " , y l a b = " N u m b e r

of F a i l u r e s " , x l a b = " D a t e " ) # P a r t s M i s s i n g par ( new = T R U E )

p l o t ( ts _ df [ ,1] , t y p e = " l " , col = " red " , x a x t = " n " , y a x t =

" n " , y l a b = " " , x l a b = " " ) # M I C A P s a x i s ( s i d e = 4)

m t e x t ( " N u m b e r of M I C A P s " , s i d e = 4 , l i n e = 3)

l e g e n d ( " t o p l e f t " , l e g e n d = c ( " P a r t s M i s s i n g " , " N u m b e r of

M I C A P s " ) , col = c ( " p u r p l e " , " red " ) , f i l l = c ( " p u r p l e " , " red

" ) , cex = 1)

# F o r m d a t a set for d y n a m a c package , w h i c h doesn ’ t w o r k w i t h t i m e s e r i e s o b j e c t s

df ← c b i n d ( num _ micaps , as . v e c t o r ( c a r c a s s _ f a i l u r e s _ s m o o t h ) , as . v e c t o r ( p a r t s _ f a i l u r e s _ s m o o t h ) , as . v e c t o r ( p a r t s _ m i s s i n g _ s m o o t h ) )

c o l n a m e s ( df ) [ 2 : 4 ] = c ( " C a r c a s s _ F a i l u r e s " , " P a r t s _ F a i l u r e s " , "

P a r t s _ M i s s i n g " )

Performing Time Series Analysis

# T e s t i n g for u n i t r o o t

# A u g m e n t e d Dickey - F u l l e r T e s t adf . t e s t ( c a r c a s s _ f a i l u r e s _ s m o o t h ) adf . t e s t ( p a r t s _ f a i l u r e s _ s m o o t h ) adf . t e s t ( p a r t s _ m i s s i n g _ s m o o t h ) adf . t e s t ( num _ m i c a p s _ zoo )

adf . t e s t ( d i f f ( c a r c a s s _ f a i l u r e s _ s m o o t h ) ) adf . t e s t ( d i f f ( p a r t s _ f a i l u r e s _ s m o o t h ) ) adf . t e s t ( d i f f ( p a r t s _ m i s s i n g _ s m o o t h ) )

adf . t e s t ( d i f f ( num _ m i c a p s _ zoo ) )

# P h i l l i p s - P e r r o n T e s t

pp . t e s t ( c a r c a s s _ f a i l u r e s _ s m o o t h ) pp . t e s t ( p a r t s _ f a i l u r e s _ s m o o t h ) pp . t e s t ( p a r t s _ m i s s i n g _ s m o o t h ) pp . t e s t ( num _ m i c a p s _ zoo )

pp . t e s t ( d i f f ( c a r c a s s _ f a i l u r e s _ s m o o t h ) ) pp . t e s t ( d i f f ( p a r t s _ f a i l u r e s _ s m o o t h ) ) pp . t e s t ( d i f f ( p a r t s _ m i s s i n g _ s m o o t h ) ) pp . t e s t ( d i f f ( num _ m i c a p s _ zoo ) )

# R u n n i n g A R D L m o d e l s for c a r c a s s and p a r t s f a i l u r e s for l a g s of 7 , 14 , 21 and 28 d a y s

my _ m o d e l 7 ← d y n a r d l ( N u m M I C A P s ∼ C a r c a s s _ F a i l u r e s + P a r t s _ F a i l u r e s , d a t a = df , l a g s = l i s t ( " N u m M I C A P s " = 1 , "

C a r c a s s _ F a i l u r e s " = 1 , " P a r t s _ F a i l u r e s " = 1) , l a g d i f f s = l i s t ( " N u m M I C A P s " = c ( 1 : 7 ) , " C a r c a s s _ F a i l u r e s " = c ( 1 : 7 ) , "

P a r t s _ F a i l u r e s " = c ( 1 : 7 ) ) , ec = TRUE , s i m u l a t e = FALSE , t r e n d = F A L S E )

s u m m a r y ( my _ m o d e l 7 )

my _ m o d e l 1 4 ← d y n a r d l ( N u m M I C A P s ∼ C a r c a s s _ F a i l u r e s + P a r t s _ F a i l u r e s , d a t a = df , l a g s = l i s t ( " N u m M I C A P s " = 1 , "

C a r c a s s _ F a i l u r e s " = 1 , " P a r t s _ F a i l u r e s " = 1) , l a g d i f f s = l i s t ( " N u m M I C A P s " = c ( 1 : 1 4 ) , " C a r c a s s _ F a i l u r e s " = c ( 1 : 1 4 ) ,

" P a r t s _ F a i l u r e s " = c ( 1 : 1 4 ) ) , ec = TRUE , s i m u l a t e = FALSE , t r e n d = F A L S E )

s u m m a r y ( my _ m o d e l 1 4 )

my _ m o d e l 2 1 ← d y n a r d l ( N u m M I C A P s ∼ C a r c a s s _ F a i l u r e s + P a r t s _ F a i l u r e s , d a t a = df , l a g s = l i s t ( " N u m M I C A P s " = 1 , "

C a r c a s s _ F a i l u r e s " = 1 , " P a r t s _ F a i l u r e s " = 1) , l a g d i f f s = l i s t ( " N u m M I C A P s " = c ( 1 : 2 1 ) , " C a r c a s s _ F a i l u r e s " = c ( 1 : 2 1 ) ,

" P a r t s _ F a i l u r e s " = c ( 1 : 2 1 ) ) , ec = TRUE , s i m u l a t e = FALSE , t r e n d = F A L S E )

s u m m a r y ( my _ m o d e l 2 1 )

my _ m o d e l 2 8 ← d y n a r d l ( N u m M I C A P s ∼ C a r c a s s _ F a i l u r e s + P a r t s _ F a i l u r e s , d a t a = df , l a g s = l i s t ( " N u m M I C A P s " = 1 , "

C a r c a s s _ F a i l u r e s " = 1 , " P a r t s _ F a i l u r e s " = 1) , l a g d i f f s = l i s t ( " N u m M I C A P s " = c ( 1 : 2 8 ) , " C a r c a s s _ F a i l u r e s " = c ( 1 : 2 8 ) ,

" P a r t s _ F a i l u r e s " = c ( 1 : 2 8 ) ) , ec = TRUE , s i m u l a t e = FALSE , t r e n d = F A L S E )

s u m m a r y ( my _ m o d e l 2 8 )

# C h e c k m o d e l d i a g n o s t i c s for c h o s e n m o d e l

d y n a r d l . a u t o . c o r r e l a t e d ( my _ m o d e l 2 1 ) # F u n c t i o n t h a t c h e c k s for a u t o c o r r e l a t i o n and n o r m a l i t y of r e s i d u a l s

q q P l o t ( my _ m o d e l 2 1 $ m o d e l $ r e s i d u a l s , y l a b = " R e s i d u a l " , x l a b =

" N o r m Q u a n t i l e s " , m a i n = " Q - Q P l o t of R e s i d u a l s " ) # Q - Q P l o t

p l o t ( my _ m o d e l 2 1 $ m o d e l $ r e s i d u a l s , y l a b = " R e s i d u a l " , m a i n = "

R e s i d u a l P l o t for A R D L M o d e l " ) # C h e c k i n g for H e t e r o s k e d a s t i c i t y

# T e s t i n g for c o i n t e g r a t i o n of v a r i a b l e s p s s b o u n d s ( my _ m o d e l 2 1 )

# R u n n i n g A R D L m o d e l for m i s s i n g p a r t s f a i l u r e s for c h o s e n lag

my _ m o d e l 2 1 ← d y n a r d l ( N u m M I C A P s ∼ P a r t s _ Missing , d a t a = df , l a g s = l i s t ( " N u m M I C A P s " = 1 , " P a r t s _ M i s s i n g " = 1) ,

l a g d i f f s = l i s t ( " N u m M I C A P s " = c ( 1 : 2 1 ) , " P a r t s _ M i s s i n g " = c ( 1 : 2 1 ) ) , ec = TRUE , s i m u l a t e = FALSE , t r e n d = F A L S E ) s u m m a r y ( my _ m o d e l 2 1 )

# C h e c k m o d e l d i a g n o s t i c s of m o d e l

d y n a r d l . a u t o . c o r r e l a t e d ( my _ m o d e l 2 1 ) # F u n c t i o n t h a t c h e c k s for a u t o c o r r e l a t i o n and n o r m a l i t y of r e s i d u a l s

q q P l o t ( my _ m o d e l 2 1 $ m o d e l $ r e s i d u a l s , y l a b = " R e s i d u a l " , x l a b =

" N o r m Q u a n t i l e s " , m a i n = " Q - Q P l o t of R e s i d u a l s " ) # Q - Q P l o t

p l o t ( my _ m o d e l 2 1 $ m o d e l $ r e s i d u a l s , y l a b = " R e s i d u a l " , m a i n = "

R e s i d u a l P l o t for A R D L M o d e l " ) # C h e c k i n g for H e t e r o s k e d a s t i c i t y

# T e s t i n g for c o i n t e g r a t i o n of v a r i a b l e s p s s b o u n d s ( my _ m o d e l 2 1 )

Bibliography

1. Office of the Deputy Under Secretary of Defense for Logistics and Materiel Readi-ness, “DoD Supply Chain Materiel Management Regulation,” Tech. Rep. DoD 4140.1-R, May 2003.

2. D. R. Williams, “Examining EXPRESS with Simulation,” Master’s thesis, Air Force Institute of Technology, Wright-Patterson AFB, OH, Mar. 2012.

3. S. J. Culosi and F. L. Eichorn, “Comparison of Two Systems for Distributing Spare Parts,” tech. rep., Logistics Management Institute, Mar. 1993.

4. J. B. Abell, L. W. Miller, C. E. Neumann, and J. E. Payne, “DRIVE (Distribution and Repair in Variable Environments): Enhancing the Responsiveness of Depot Repair,” tech. rep., RAND Corporation, 1992.

5. B. E. Anderson, “Integration of the Distribution and Repair in Variable Environ-ments (DRIVE) Model Into MICAP Policy,” Master’s thesis, Air Force Institute of Technology, Wright-Patterson AFB, OH, Sept. 1996.

6. Directorate of Plans HQ Air Force Materiel Command, “Annual Report,” tech.

rep., Apr. 1997.

7. Air Force Materiel Command, “Air Force Materiel Command Instruction 23-120,”

tech. rep., May 2006.

8. P. Mills, R. Tripp, J. Leftwich, J. Drew, J. Sollinger, and R. Defeo, “Support to the Air Force Installation and Mission Support Center,” tech. rep., RAND Corporation, 2017.

9. LOGTEC, Inc., “Technical Support and Analysis for the Air Force Materiel Com-mand (AFMC) Supply and Engineering Requirements Division (A4Y) Spares Requirements Branch (A4YR): Execution and Prioritization of Repair Support System (EXPRESS) D087X EXPRESS Information Handbook,” tech. rep., Feb.

2006.

10. Dynamics Research Corporation, “EXPRESS Execution & Planning.” Power-Point Presentation, July 2009.

11. E. Peltz, M. Brauner, E. Keating, E. Saltzman, D. Tremblay, and P. Boren,

“DoD Depot-Level Reparable Supply Chain Management: Process Effectiveness and Opportunities for Improvement,” tech. rep., RAND Corporation, 2014.

12. Computer Sciences Corporation, “Weapon System Management Information Sys-tem (WSMIS) EXecution and Prioritization of REpair Support SysSys-tem (EX-PRESS) D087X 6.2: System/Subsystem Design Description (SSDD),” tech. rep., Apr. 2004.

13. C. Kimmel, “Air Force Supply Chain Process Flow.” PowerPoint Presentation, Feb. 2018.

14. Air Force Materiel Command, “Air Force Materiel Command Instruction 23-112,”

tech. rep., Mar. 2006.

15. Computer Sciences Corporation, “Weapon System Management Information Sys-tem (WSMIS) EXecution and Prioritization of REpairs Support SysSys-tem (EX-PRESS) D087X: Database Design Description (DBDD) Version 8.0,” tech. rep., Feb. 2006.

16. Computer Sciences Corporation, “Weapon System Management Information Sys-tem (WSMIS) EXecution and Prioritization of REpairs Support SysSys-tem (EX-PRESS) D087X : System/Subsystem Specification (SSS) Version 8.1.1.1,” tech.

rep., Sept. 2007.

17. R. Moore, “EXecution and Prioritization of REpair Support System (EXPRESS) Prioritization Logic.” PowerPoint Presentation, June 1999.

18. M. W. Carter and R. W. Clarke, “EXPRESS Planning Module,” Air Force Jour-nal of Logistics, vol. XXIII, pp. 21–24, Mar. 2000.

19. M. W. Carter and R. London, “Why So Many AWP LRUs,” Air Force Journal of Logistics, vol. XXVI, pp. 31–33, June 2003.

20. T. T. Huber, “Identifying, Tracking, and Prioritizing Parts Unavailability,” Mas-ter’s thesis, Air Force Institute of Technology, Wright-Patterson AFB, OH, Mar.

2013.

21. R. A. Lee, “A Case Study of the Degree of Collaboration Between Various Levels in the Reparable Chain in the United States Air Force,” Master’s thesis, Air Force Institute of Technology, Wright-Patterson AFB, OH, Mar. 2005.

22. R. W. Branson, “High-Velocity Maintenance - Air Force Organic PDM: Assessing Backshop Priorities and Support,” Air Force Journal of Logistics, vol. XXXIV, no. 3, pp. 16–25, 2011.

23. S. Mayhall, “Modeling a Reparable Supply Chain and Applying CPFR Con-cepts,” Master’s thesis, Air Force Institute of Technology, Wright-Patterson AFB, OH, June 2006.

24. M. B. Shrestha and G. R. Bhatta, “Selecting appropriate methodological frame-work for time series data analysis,” The Journal of Finance and Data Science, vol. 4, pp. 71–89, June 2018.

25. M. H. Pesaran and Y. Shin, Econometrics and Economic Theory in the 20th Century: The Ragnar Frische Centennial Symposium, ch. “An autoregressive

distributed-lag modelling approach to cointegration analysis”. Econometric So-ciety Monographs, Cambridge University Press, 1998.

26. M. H. Pesaran, Y. Shin, and R. J. Smith, “Bounds testing approaches to the analysis of level relationships,” Journal of Applied Econometrics, vol. 16, pp. 289–

326, 2001.

27. D. Giles, “Ardl models - part ii - bounds tests,” June 2013. Econometrics Beat Blog.

28. S. Moritz and T. Bartz-Beielstein, imputeTS: Time Series Missing Value Impu-tation in R, 2018. R package version 2.6.

29. A. Trapletti and K. Hornik, tseries: Time Series Analysis and Computational Finance, 2018. R package version 0.10-44.

30. S. Jordan and P. A. Q., dynamac: Dynamic Simulation and Testing for Single-Equation ARDL Models, 2018. R package version 0.1.6.

REPORT DOCUMENTATION PAGE

Form Approved OMB No. 0704–0188

The public reporting burden for this collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, gathering and maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information, including suggestions for reducing this burden to Department of Defense, Washington Headquarters Services, Directorate for Information Operations and Reports (0704–0188), 1215 Jefferson Davis Highway, Suite 1204, Arlington, VA 22202–4302. Respondents should be aware that notwithstanding any other provision of law, no person shall be subject to any penalty for failing to comply with a collection of information if it does not display a currently valid OMB control number. PLEASE DO NOT RETURN YOUR FORM TO THE ABOVE ADDRESS.

1. REPORT DATE (DD–MM–YYYY) 2. REPORT TYPE 3. DATES COVERED (From — To)

4. TITLE AND SUBTITLE 5a. CONTRACT NUMBER

7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES) 8. PERFORMING ORGANIZATION REPORT

NUMBER

9. SPONSORING / MONITORING AGENCY NAME(S) AND ADDRESS(ES) 10. SPONSOR/MONITOR’S ACRONYM(S)

11. SPONSOR/MONITOR’S REPORT

21–03–2019 Master’s Thesis Sept 2017 — March 2019

Examining the EXPRESS Supportability Module: Implementing an Autoregressive Distributed Lag Approach with Air Force Maintenance

Data

EXPRESS (Execution and Prioritization of Repairs Support System) is a program integral to the Air Force reparable supply chain. Daily, EXPRESS relies on a number of data sources and modules like the Supportability Module to determine which necessary repairs can be made. The Supportability Module examines the prioritized list of repairs and checks four constraints in order to decide whether each repair can be made given current resources. A single constraint failure means that subsequent resource checks are not made before evaluating the next repair, leading to missing data in the EXPRESS table. In this study, a time series analysis via explanatory autoregressive distributed lag models was conducted using EXPRESS and MICAP (mission capability) data to examine possible connections between missing constraint values in the EXPRESS table and future MICAPs. These models suggested that up to 0.793 MICAP days are added for each additional parts failure missing in the EXPRESS table. The potential for the use of time series models with maintenance data was also explored. Model diagnostics suggest that maintenance data is too volatile and noisy for regression-based methods and that stochastic methods or simulation may prove more useful.

EXPRESS, aircraft maintenance, supply chain, autoregressive distributed lag model

U U U UU

83

Dr. Raymond R. Hill (ENS)

This material is declared a work of the U.S. Government and is not subject to copyright protection in the United States.

Related documents