VIPER Optimization What is optimization? How does viper’s Station and Time Period optimization work? How to interpret results? What to avoid? Tom Pagano
As used in a statistical forecasting context Target Tomichi at Gunnison Apr-July streamflow
As used in a statistical forecasting context Target Tomichi at Gunnison Apr-July streamflow Data types (3) Snowpack Precipitation Temperature Predictor Stations (7) Porphyry Creek Slumgullion Cochetopa Pass Monarch Offshoot Butte Taylor Park St Elmo Months (4) October November December January What is the optimal combination of variables to get the best prediction?
As used in a statistical forecasting context Target Tomichi at Gunnison Apr-July streamflow Data types (3) Snowpack Precipitation Temperature Predictor Stations (7) Porphyry Creek Slumgullion Cochetopa Pass Monarch Offshoot Butte Taylor Park St Elmo Months (4) October November December January What is the optimal combination of variables to get the best prediction?
As used in a statistical forecasting context Target Tomichi at Gunnison Apr-July streamflow Data types (3) Snowpack Precipitation Temperature Predictor Stations (7) Porphyry Creek Slumgullion Cochetopa Pass Monarch Offshoot Butte Taylor Park St Elmo Months (4) October November December January What is the optimal combination of variables to get the best prediction?
As used in a statistical forecasting context Target Tomichi at Gunnison Apr-July streamflow Data types (3) Snowpack Precipitation Temperature Predictor Stations (7) Porphyry Creek Slumgullion Cochetopa Pass Monarch Offshoot Butte Taylor Park St Elmo Months (4) October November December January What is the optimal combination of variables to get the best prediction? Too many combination to evaluate using “brute force” (at least 24,000)
As used in a statistical forecasting context Target Tomichi at Gunnison Apr-July streamflow Data types (3) Snowpack Precipitation Temperature Predictor Stations (7) Porphyry Creek Slumgullion Cochetopa Pass Monarch Offshoot Butte Taylor Park St Elmo Months (4) October November December January What is the optimal combination of variables to get the best prediction? Too many combination to evaluate using “brute force” (at least 24,000) Instead we could “search”, trying some combinations and following up promising avenues.
Station optimization search algorithm, simple example Target Tomichi at Gunnison Apr-July streamflow Predictors A Avalanche Oct-Mar Precip B Butte Apr 1 SWE C Cochetopa Pass Apr 1 SWE D Datother Station Apr 1 SWE
Station optimization search algorithm, simple example Build all 1 variable combinations 1. A 2. B 3. C 4. D
Station optimization search algorithm, simple example Build all 1 variable combinations 1. A 2. B 3. C 4. D Evaluate regression vs flow, find jackknife standard error 1. A – B – C – D – 30
Station optimization search algorithm, simple example Build all 1 variable combinations 1. A 2. B 3. C 4. D Evaluate regression vs flow, find jackknife standard error 1. A – B – C – D – 30 Sort equations, best to worst 1. D – 30 best 2. C – B – A – 38 worst
Station optimization search algorithm, simple example Build all 1 variable combinations 1. A 2. B 3. C 4. D Evaluate regression vs flow, find jackknife standard error 1. A – B – C – D – 30 Sort equations, best to worst 1. D – 30 best 2. C – B – A – 38 worst Build 2 variable equations, regress, find jackknife standard error 1. D – C – B – A – 38 A,D - 32 B,D - 34 C,D - 29 A,C - 37 B,C - 35 A,B - 39 Note: A,B is the same as B,A
Station optimization search algorithm, simple example Re-sort results… “prune” branches, keeping top 5 1. C,D D A,D C B,D - 34
Station optimization search algorithm, simple example Re-sort results… “prune” branches, keeping top 5 1. C,D D A,D C B,D - 34 Build all 3-variable combinations, growing from top 5 list, evaluate 1. C,D - 29 A,C,D - 28 B,C,D D A,D - 32 A,B,D C B,D - 34 Note: A,B,C not evaluated… No “trunk” leads us there
Station optimization search algorithm, simple example Re-sort results… “prune” branches, keeping top 5 1. C,D D A,D C B,D - 34 Build all 3-variable combinations, growing from top 5 list, evaluate 1. C,D - 29 A,C,D - 28 B,C,D D A,D - 32 A,B,D C B,D - 34 Re-sort list, evaluate 4-variable combinations 1. A,C,D – 28 A,B,C,D C,D D A,D C - 33 Note: A,B,C not evaluated No “trunk” leads us there
Station optimization search algorithm, simple example Re-sort list… Optimization finished when top 5 list doesn’t change 1. A,C,D C,D D A,B,C,D A,D - 32
Station optimization search algorithm, simple example Re-sort list… Optimization finished when top 5 list doesn’t change 1. A,C,D C,D D A,B,C,D A,D - 32 Questions to ask: Which variables are “popular”? What would maintain consistency from month to month? Does the combination make physical sense? Is some data harder to get than others? Optimization is not a substitute for thinking!
Viper station optimization
Output
Input data: Year Y1 X
DETAILED OUTPUT RANKED REGRESSION EQUATIONS: ***** RANK 1 coef var X9 701,OCT-MAY,PRCP,SNTL,CO,AWDB,Porphyry Creek Constant #obs= 22 #pc = 1 Jr = JStdErr = JStdErrSS = r = StdErr = StdErrSS = JCK REG JCK REG STD REG STD REG YEAR OBSERVED COMPUTED ERROR COMPUTED ERROR
SUMMARY OUTPUT Name of this file: _optimization.txt Number of combinations evaluated = 1 Created on 6/13/2007 3:36:56 PM by tpagano Transformation type: Cubert Analysis type: Principal Components VARIABLES: Y ,APR-JUL,SRVO,USGS,CO,AWDB,Tomichi Creek At Gunnison, Co X9 701,OCT-MAY,PRCP,SNTL,CO,AWDB,Porphyry Creek EQUATION SUMMARY: RANK VARIABLES JACKKNIFE JACK. NUM. 1 STANDARD CORR. OBS. NUM ERROR COEF. USED PC'S X
Y ,APR-JUL,SRVO,USGS,CO,AWDB,Tomichi Creek At Gunnison, Co X1 06L03,MAY,WTEQ,SNOW,CO,AWDB,Porphyry Creek X2 762,MAY,WTEQ,SNTL,CO,AWDB,Slumgullion X3 06L06,MAY,WTEQ,SNOW,CO,AWDB,Cochetopa Pass X4 06L09,MAY,WTEQ,SNOW,CO,AWDB,Monarch Offshoot X5 06L04,MAY,WTEQ,SNOW,CO,AWDB,Monarch Pass X6 701,MAY,WTEQ,SNTL,CO,AWDB,Porphyry Creek X7 701,OCT-MAY,PRCP,SNTL,CO,AWDB,Porphyry Creek X8 762,OCT-MAY,PRCP,SNTL,CO,AWDB,Slumgullion X12 380,OCT-MAY,PRCP,SNTL,CO,AWDB,Butte EQUATION SUMMARY: RANK VARIABLES JACKKNIFE JACK. NUM STANDARD CORR. OBS. NUM ERROR COEF. USED PC'S 1 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X Interpreting variable tables
Y ,APR-JUL,SRVO,USGS,CO,AWDB,Tomichi Creek At Gunnison, Co X1 06L03,MAY,WTEQ,SNOW,CO,AWDB,Porphyry Creek X2 762,MAY,WTEQ,SNTL,CO,AWDB,Slumgullion X3 06L06,MAY,WTEQ,SNOW,CO,AWDB,Cochetopa Pass X4 06L09,MAY,WTEQ,SNOW,CO,AWDB,Monarch Offshoot X5 06L04,MAY,WTEQ,SNOW,CO,AWDB,Monarch Pass X6 701,MAY,WTEQ,SNTL,CO,AWDB,Porphyry Creek X7 701,OCT-MAY,PRCP,SNTL,CO,AWDB,Porphyry Creek X8 762,OCT-MAY,PRCP,SNTL,CO,AWDB,Slumgullion X12 380,OCT-MAY,PRCP,SNTL,CO,AWDB,Butte EQUATION SUMMARY: RANK VARIABLES JACKKNIFE JACK. NUM STANDARD CORR. OBS. NUM ERROR COEF. USED PC'S 1 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X Interpreting variable tables Recognize popular variables
Y ,APR-JUL,SRVO,USGS,CO,AWDB,Tomichi Creek At Gunnison, Co X1 06L03,MAY,WTEQ,SNOW,CO,AWDB,Porphyry Creek X2 762,MAY,WTEQ,SNTL,CO,AWDB,Slumgullion X3 06L06,MAY,WTEQ,SNOW,CO,AWDB,Cochetopa Pass X4 06L09,MAY,WTEQ,SNOW,CO,AWDB,Monarch Offshoot X5 06L04,MAY,WTEQ,SNOW,CO,AWDB,Monarch Pass X6 701,MAY,WTEQ,SNTL,CO,AWDB,Porphyry Creek X7 701,OCT-MAY,PRCP,SNTL,CO,AWDB,Porphyry Creek X8 762,OCT-MAY,PRCP,SNTL,CO,AWDB,Slumgullion X12 380,OCT-MAY,PRCP,SNTL,CO,AWDB,Butte EQUATION SUMMARY: RANK VARIABLES JACKKNIFE JACK. NUM STANDARD CORR. OBS. NUM ERROR COEF. USED PC'S 1 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X Interpreting variable tables Recognize popular variables Be aware of num. obs
Y ,APR-JUL,SRVO,USGS,CO,AWDB,Tomichi Creek At Gunnison, Co X1 06L03,MAY,WTEQ,SNOW,CO,AWDB,Porphyry Creek X2 762,MAY,WTEQ,SNTL,CO,AWDB,Slumgullion X3 06L06,MAY,WTEQ,SNOW,CO,AWDB,Cochetopa Pass X4 06L09,MAY,WTEQ,SNOW,CO,AWDB,Monarch Offshoot X5 06L04,MAY,WTEQ,SNOW,CO,AWDB,Monarch Pass X6 701,MAY,WTEQ,SNTL,CO,AWDB,Porphyry Creek X7 701,OCT-MAY,PRCP,SNTL,CO,AWDB,Porphyry Creek X8 762,OCT-MAY,PRCP,SNTL,CO,AWDB,Slumgullion X12 380,OCT-MAY,PRCP,SNTL,CO,AWDB,Butte EQUATION SUMMARY: RANK VARIABLES JACKKNIFE JACK. NUM STANDARD CORR. OBS. NUM ERROR COEF. USED PC'S 1 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X Interpreting variable tables Recognize popular variables Be aware of num. obs Meaningful interpretations
Viper time period optimization Maybe you know “slumgullion precip” should be a predictor, but don’t know if it should be oct-mar or nov-mar or ? Time optimization varies stations with in groups one at a time, looking for the optimal combination.
Viper time period optimization Maybe you know “slumgullion precip” should be a predictor, but don’t know if it should be oct-mar or nov-mar or ? Time optimization varies stations with in groups one at a time, looking for the optimal combination. It does not have a fancy search algorithm, it tries all combinations. Time optimization available for Z-score or PCA… Station optimization only available in PCA for now.
Interpretation 1.Adjust only SnotelPRCP and NRCSStrm. Leave others alone.
Interpretation 1.Adjust only SnotelPRCP and NRCSStrm. Leave others alone. 2.Evaluate all combinations for SnotelPrcp between Oct and Mar that end with March (e.g. Oct-Mar, Nov-Mar, Dec-Mar, Jan-Mar, Feb-Mar, Mar-Mar)
Interpretation 1.Adjust only SnotelPRCP and NRCSStrm. Leave others alone. 2.Evaluate all combinations for SnotelPrcp between Oct and Mar that end with March (e.g. Oct-Mar, Nov-Mar, Dec-Mar, Jan-Mar, Feb-Mar, Mar-Mar) 3. Evaluate all combinations for NRCSStrm between Jul and Mar (e.g. Aug-Feb is a valid combo Jun-Mar is not)
Interpretation 1.Adjust only SnotelPRCP and NRCSStrm. Leave others alone. 2.Evaluate all combinations for SnotelPrcp between Oct and Mar that end with March (e.g. Oct-Mar, Nov-Mar, Dec-Mar, Jan-Mar, Feb-Mar, Mar-Mar) 3. Evaluate all combinations for NRCSStrm between Jul and Mar (e.g. Aug-Feb is a valid combo Jun-Mar is not) 4. Return best combination to interface
Recent additions Don’t allow the “best” month for a group be one that eliminates that group. e.g. Oct-Jan precipitation + August swe = “best” But there is no august SWE. Really it just wants precip alone. Optimize Groups in Order Optimize Groups Dependently Optimize Groups Independently When optimizing one group do you leave the others on or off? Do you want each group to try to do its best on its own, or let groups cooperate?
A word of caution about optimization! A station is not graded on the exams that it skips Streamflow Forecast Observed Station availability #1 #2 High error period
A word of caution about optimization! A station is not graded on the exams that it skips Period of record Standard error # # Streamflow Forecast Observed Station availability #1 #2 High error period Which station is really “best”? better
A word of caution about optimization! A station is not graded on the exams that it skips Period of record Standard error # # Standard error for overlapping period ( ) # # Streamflow Forecast Observed Station availability #1 #2 High error period Which station is really “best”? better