Skip to content

Groundwater prediction using ML routines; Project for 'Code for Nepal datacruch hackathon' (Team: Lithosphere)

License

Notifications You must be signed in to change notification settings

CodeforNepal/gw-predictor

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GW-predictor - Groundwater Prediction Using Machine Learning

GW-predictor is a research project written in Python that aims to predict the groundwater discharge potential at any coordinate specified. At the moment, the project is trained for Kathmandu Valley and ready to use for predicting discharge within Kathmandu. Training and testing of Gaussian Process Model is implemented in jupyter lab interface with the use of python package GPy. Keeping in mind that very few data is used for training the model, it's relatively low accuracy of prediction is not a surprise.

GW-predictor is a result of work for the 'Code for Nepal Datacrunch Hackathon' by team Lithosphere. Members of team Lithosphere include Nelson Kandel, Samriddhi Ghimire and Prabesh Gyawali. Team Lithosphere succeded to secure the second position in the hackathon.

Gw-predictor is availabe under the MIT license. We'd love to incroporate your changes, so fork us.

Requirements

GW-predictor uses the following Python packages:

Data Description

A sample of original data file is provided in data folder. Each well have their unique well ids. Multiple row entry for with same well id represent data for multiple depth of the soil layer below ground level. First row entry of each well ids have discharge and other hydraulic properties associated with the specific well.

Preprocessing

Following steps are considered for preprocessing process:

  1. Read original data file.
  2. Extract first row for each unique well ids.
  3. Check for no values.
  4. Save the required information.

Model Training

Train test ration = 70%
RBF Kernal:
Input Dimensions = 2 (i.e, x, y UTM coordinates)
Lengthscale = 200
Variance = 5
Optimization Algorithm: Limited-memory Broyden-Fletcher-Goldfarb-Shanno (L-BFGS)

Results

Scatter Plot of Actual Discharge vs Predicted Discharge
Q_act vs Q_pred

1D Cross section of prediction model along x-axis
Q_act vs Q_pred

Data Courtesy

Kathmandu Upatyaka Khanepani Limited

About

Groundwater prediction using ML routines; Project for 'Code for Nepal datacruch hackathon' (Team: Lithosphere)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 100.0%