160 likes | 293 Views
Detecting Hydrologic Responses to Earthquakes using Support Vector Machines. Max Rudolph. Objectives/Questions. Why does stream flow respond or not respond to earthquakes? Effects of M, r , E/V, permeability/rock type, consolidated v s. unconsolidated sediments ?
E N D
Detecting Hydrologic Responses to Earthquakes using Support Vector Machines Max Rudolph
Objectives/Questions • Why does stream flow respond or not respond to earthquakes? • Effects of M, r, E/V, permeability/rock type, consolidated vs. unconsolidated sediments? • Can we train a computer to automatically detect these responses? • If so, we can mine a tremendous amount of stream flow data.
Background What is a Support Vector Machine? It accepts a vector as input and returns a natural number corresponding to the class that the vector belongs to. The vector is called the ‘Feature Vector’. The SVM is finding a hyperplane that optimally divides parameter space into regions corresponding to each class. Training: Provide SVM with paired set of feature vectors, labels. In this study, classes are ‘Yes’, ‘No’, ‘Maybe’ – determine 2 free parameters (C, gamma) ‘Linear’ kernel Radial Basis Function (from libSVM website)
Data Sources Data Sources: USGS Instantaneous Data Archive (IDA) -79 stream gages available (with no upstream regulation). 1-15 minute sample interval. 1980-2008 NOAA National Climatic Data Center (NCDC) (230 stations) NCEDC Earthquake Catalog 1980 to present Unexploited Data Sources (future work?): NOAA hourly precipitation records 2001-present USGS daily stream flow archive - better availability
Data acquisition (done in Matlab!) myStation = station_numbers{i}; myURL = ['http://wdr.water.usgs.gov/wy2009/pdfs/'myStation'.2009.pdf']; myCMD = ['curl -O 'myURL]; conversionError= unix(['/sw/bin/pdftotext 'myStation'.2009.pdf']); %% check text files for phrase "No regulation or diversion upstream from station" noDiversions(i) = ~unix(['grep "No regulation or diversion upstream from station" 'txtFile]); if(noDiversions(i) == 0) noDiversions(i) = ~unix(['grep "No regulation upstream from station" 'txtFile]); end unix(['curl -ccookies.txt http://ida.water.usgs.gov/ida/available_records.cfm?sn='siteid] unix(['curl -O -S -L -v -bcookies.txt -ccookies.txt -e http://ida.water.usgs.gov/ida/available_records.cfm?sn='siteid' -d "fromdate='sds'&todate='eds'&mindatetime=1980-01-04%2000%3A00%3A00.0&maxdatetime=2008-09-30%2023%3A45%3A00.0&site_no='siteid'&rtype=1&submit1=Retrieve Data" http://ida.water.usgs.gov/ida/available_records_process.cfm’] unix(['mvavailable_records_process.cfm 'siteid'.rdb'])
Feature Vector • Earthquake Magnitude/10 • Log10(Earthquake Distance)/10 • Normalized relative daily streamflow for each day in 7 days preceding-following earthquake • Histograms of normalized discharge in week after, before earthquake • Same as (4), but for first and second derivatives • Same as (4) + (6), for smoothed stream data with 1 day centered moving average filter • Number of days with precipitation (any amount) at nearest station in week preceding earthquake, week following earthquake
Results After training, cross validation indicates that the SVM classifies the training dataset (500 samples) with 97% accuracy for (c, gamma) ~= (0.0016,0.3969). When run on the full dataset for earthquakes with M>=3.5, of 113,365 feature vectors, 1121 are classified as ‘Yes’ or ‘Maybe’ (examples follow) Main problem/shortcoming appears to be poor quality of climatic data.
Future directions • Method could also be applied to well level data. Wells vastly outnumber unregulated gaged streams. • Compare with Gleeson 2011 GRL (Permeability Map) – do rivers fed by low-k formations respond more or less readily than high-k formations?