├── commit_023.csv ├── commit_030.csv ├── commit_046.csv ├── commit_052.csv ├── commit_069.csv ├── commit_071.csv ├── commit_007.csv ├── commit_011.csv ├── commit_022.csv ├── commit_044.csv ├── commit_073.csv ├── commit_097.csv ├── commit_098.csv ├── commit_001.csv ├── commit_005.csv ├── commit_012.csv ├── commit_013.csv ├── commit_015.csv ├── commit_018.csv ├── commit_020.csv ├── commit_029.csv ├── commit_032.csv ├── commit_038.csv ├── commit_048.csv ├── commit_050.csv ├── commit_051.csv ├── commit_053.csv ├── commit_056.csv ├── commit_057.csv ├── commit_058.csv ├── commit_059.csv ├── commit_060.csv ├── commit_062.csv ├── commit_063.csv ├── commit_070.csv ├── commit_072.csv ├── commit_074.csv ├── commit_076.csv ├── commit_078.csv ├── commit_082.csv ├── commit_089.csv ├── commit_090.csv ├── commit_095.csv ├── commit_004.csv ├── commit_008.csv ├── commit_010.csv ├── commit_017.csv ├── commit_021.csv ├── commit_024.csv ├── commit_026.csv ├── commit_027.csv ├── commit_033.csv ├── commit_037.csv ├── commit_039.csv ├── commit_041.csv ├── commit_045.csv ├── commit_055.csv ├── commit_065.csv ├── commit_067.csv ├── commit_068.csv ├── commit_075.csv ├── commit_077.csv ├── commit_081.csv ├── commit_083.csv ├── commit_084.csv ├── commit_085.csv ├── commit_086.csv ├── commit_088.csv ├── commit_096.csv ├── commit_014.csv ├── commit_016.csv ├── commit_025.csv ├── commit_028.csv ├── commit_036.csv ├── commit_040.csv ├── commit_049.csv ├── commit_061.csv ├── commit_064.csv ├── commit_066.csv ├── commit_087.csv ├── commit_091.csv ├── commit_092.csv ├── commit_093.csv ├── commit_094.csv ├── commit_099.csv ├── commit_002.csv ├── commit_003.csv ├── commit_006.csv ├── commit_031.csv ├── commit_034.csv ├── commit_035.csv ├── commit_042.csv ├── commit_043.csv ├── commit_047.csv ├── commit_054.csv ├── commit_080.csv ├── commit_100.csv ├── commit_009.csv ├── commit_019.csv ├── commit_079.csv ├── water levels.zip ├── 522025IJECC131037.pdf ├── AUGFloodedArea_TIFF18.tif ├── update ├── water-level-heights-Benue-State.csv ├── water-level-heights in-Kogi State.csv ├── water-level-heights-Rivers-State.csv ├── water-level-heights-Bayelsa-State.csv ├── README.md └── Change_Detection_Analysis_for_Monitoring_of_Sandbar_.ipynb /commit_023.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Calculated slope and aspect layers 3 | -------------------------------------------------------------------------------- /commit_030.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Normalized spatial index values 3 | -------------------------------------------------------------------------------- /commit_046.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Trained SVM model with RBF kernel 3 | -------------------------------------------------------------------------------- /commit_052.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Exported best model using joblib 3 | -------------------------------------------------------------------------------- /commit_069.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Incorporated rainfall trend graphs 3 | -------------------------------------------------------------------------------- /commit_071.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Optimized dashboard loading speed 3 | -------------------------------------------------------------------------------- /commit_007.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Georeferenced river segments using QGIS 3 | -------------------------------------------------------------------------------- /commit_011.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Compiled metadata for all spatial layers 3 | -------------------------------------------------------------------------------- /commit_022.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Applied terrain correction to SRTM DEM 3 | -------------------------------------------------------------------------------- /commit_044.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Tuned hyperparameters using GridSearchCV 3 | -------------------------------------------------------------------------------- /commit_073.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Deployed dashboard on Streamlit Cloud 3 | -------------------------------------------------------------------------------- /commit_097.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Uploaded PDF version of project report 3 | -------------------------------------------------------------------------------- /commit_098.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Added link to publication draft (if any) 3 | -------------------------------------------------------------------------------- /commit_001.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Initialize project structure and README file 3 | -------------------------------------------------------------------------------- /commit_005.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Downloaded Landsat 8 imagery from 2014–2024 3 | -------------------------------------------------------------------------------- /commit_012.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Added shapefiles of known sandbar locations 3 | -------------------------------------------------------------------------------- /commit_013.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Cleaned and standardized satellite metadata 3 | -------------------------------------------------------------------------------- /commit_015.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Generated NDVI and MNDWI from Landsat imagery 3 | -------------------------------------------------------------------------------- /commit_018.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Clipped imagery to Niger River buffer zone 3 | -------------------------------------------------------------------------------- /commit_020.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Documented data collection steps in README.md 3 | -------------------------------------------------------------------------------- /commit_029.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Created flood duration and frequency maps 3 | -------------------------------------------------------------------------------- /commit_032.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Mapped riverbank erosion and accretion trends 3 | -------------------------------------------------------------------------------- /commit_038.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Balanced training dataset using undersampling 3 | -------------------------------------------------------------------------------- /commit_048.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Compared RF and SVM classification accuracy 3 | -------------------------------------------------------------------------------- /commit_050.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Added ROC curves and AUC comparison plots 3 | -------------------------------------------------------------------------------- /commit_051.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Selected best model based on validation score 3 | -------------------------------------------------------------------------------- /commit_053.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Applied trained model on 2024 sandbar image 3 | -------------------------------------------------------------------------------- /commit_056.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Quantified area differences between classes 3 | -------------------------------------------------------------------------------- /commit_057.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Generated change detection maps for 2014–2024 3 | -------------------------------------------------------------------------------- /commit_058.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Added shapefile outputs for classified zones 3 | -------------------------------------------------------------------------------- /commit_059.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Documented model assumptions and limitations 3 | -------------------------------------------------------------------------------- /commit_060.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Uploaded model training notebook and logs 3 | -------------------------------------------------------------------------------- /commit_062.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Exported animated GIF of sandbar transitions 3 | -------------------------------------------------------------------------------- /commit_063.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Created interactive dashboard using Streamlit 3 | -------------------------------------------------------------------------------- /commit_070.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Designed HTML template for web map dashboard 3 | -------------------------------------------------------------------------------- /commit_072.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Added tooltips and hover text to dashboard 3 | -------------------------------------------------------------------------------- /commit_074.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Updated project README with dashboard link 3 | -------------------------------------------------------------------------------- /commit_076.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Plotted bar chart of sandbar area over time 3 | -------------------------------------------------------------------------------- /commit_078.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Generated time-series plots of NDVI and MNDWI 3 | -------------------------------------------------------------------------------- /commit_082.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Added literature review summary in markdown 3 | -------------------------------------------------------------------------------- /commit_089.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Added conclusion and recommendations section 3 | -------------------------------------------------------------------------------- /commit_090.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Created PowerPoint for project presentation 3 | -------------------------------------------------------------------------------- /commit_095.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Added LICENSE file and citation guidelines 3 | -------------------------------------------------------------------------------- /commit_004.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Added Niger Delta shapefiles and basin boundaries 3 | -------------------------------------------------------------------------------- /commit_008.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Uploaded DEM (SRTM) data for elevation mapping 3 | -------------------------------------------------------------------------------- /commit_010.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Scraped precipitation data for region from CHIRPS 3 | -------------------------------------------------------------------------------- /commit_017.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Added seasonal flood extent shapefiles from GEE 3 | -------------------------------------------------------------------------------- /commit_021.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Preprocessed Sentinel-2 imagery using SNAP toolbox 3 | -------------------------------------------------------------------------------- /commit_024.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Derived Normalized Difference Sandbar Index (NDSI) 3 | -------------------------------------------------------------------------------- /commit_026.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Added moving average filters to temporal indices 3 | -------------------------------------------------------------------------------- /commit_027.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Merged multi-temporal indices into GeoTIFF stacks 3 | -------------------------------------------------------------------------------- /commit_033.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Derived sandbar area changes using thresholding 3 | -------------------------------------------------------------------------------- /commit_037.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Extracted spectral signatures of sandbar classes 3 | -------------------------------------------------------------------------------- /commit_039.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Converted raster zones into GeoJSONs for analysis 3 | -------------------------------------------------------------------------------- /commit_041.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Initialized Jupyter notebook for model training 3 | -------------------------------------------------------------------------------- /commit_045.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Plotted feature importance for sandbar predictors 3 | -------------------------------------------------------------------------------- /commit_055.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Overlaid predicted vs. actual sandbar polygons 3 | -------------------------------------------------------------------------------- /commit_065.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Added river discharge chart from hydrology data 3 | -------------------------------------------------------------------------------- /commit_067.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Included slider for year-wise sandbar comparison 3 | -------------------------------------------------------------------------------- /commit_068.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Added map legends and index interpretation guide 3 | -------------------------------------------------------------------------------- /commit_075.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Created visual summary of workflow in PNG format 3 | -------------------------------------------------------------------------------- /commit_077.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Added spatial heatmap of erosion-prone sandbars 3 | -------------------------------------------------------------------------------- /commit_081.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Drafted methodology section for technical report 3 | -------------------------------------------------------------------------------- /commit_083.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Cited relevant ML & GIS sandbar monitoring studies 3 | -------------------------------------------------------------------------------- /commit_084.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Prepared comparison table of model performances 3 | -------------------------------------------------------------------------------- /commit_085.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Wrote discussion on environmental implications 3 | -------------------------------------------------------------------------------- /commit_086.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Integrated accuracy assessment into final report 3 | -------------------------------------------------------------------------------- /commit_088.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Documented ML model workflow and parameters used 3 | -------------------------------------------------------------------------------- /commit_096.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Tagged v1.0 release of sandbar monitoring system 3 | -------------------------------------------------------------------------------- /commit_014.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Merged all imagery to project coordinate system (UTM) 3 | -------------------------------------------------------------------------------- /commit_016.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Performed cloud masking on Sentinel images using GEE 3 | -------------------------------------------------------------------------------- /commit_025.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Generated time-series water occurrence layer using GEE 3 | -------------------------------------------------------------------------------- /commit_028.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Developed scripts for patch-wise NDVI/MNDWI extraction 3 | -------------------------------------------------------------------------------- /commit_036.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | "Computed GLCM texture metrics (entropy, contrast)" 3 | -------------------------------------------------------------------------------- /commit_040.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Logged preprocessing workflow in preprocessing_log.md 3 | -------------------------------------------------------------------------------- /commit_049.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Implemented XGBoost classifier for improved detection 3 | -------------------------------------------------------------------------------- /commit_061.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Developed sandbar change animation using Matplotlib 3 | -------------------------------------------------------------------------------- /commit_064.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Integrated classification map layers into Streamlit 3 | -------------------------------------------------------------------------------- /commit_066.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Embedded map of predicted sandbar zones (Leaflet.js) 3 | -------------------------------------------------------------------------------- /commit_087.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | "Explained how NDVI, MNDWI detect sandbar dynamics" 3 | -------------------------------------------------------------------------------- /commit_091.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Uploaded all figures and visualizations to docs folder 3 | -------------------------------------------------------------------------------- /commit_092.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Reviewed and corrected metadata for reproducibility 3 | -------------------------------------------------------------------------------- /commit_093.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Created summary of contributions in CONTRIBUTING.md 3 | -------------------------------------------------------------------------------- /commit_094.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Finalized and formatted README with project overview 3 | -------------------------------------------------------------------------------- /commit_099.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Wrote blog-style summary of project for public audience 3 | -------------------------------------------------------------------------------- /commit_002.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | "Add .gitignore for Python, Jupyter, and geospatial data" 3 | -------------------------------------------------------------------------------- /commit_003.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | "Created folder structure for raw, processed, and models" 3 | -------------------------------------------------------------------------------- /commit_006.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Added Sentinel-2 datasets (2015–2024) for sandbar monitoring 3 | -------------------------------------------------------------------------------- /commit_031.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Identified dynamic sandbar zones using raster differencing 3 | -------------------------------------------------------------------------------- /commit_034.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Added code for supervised classification dataset preparation 3 | -------------------------------------------------------------------------------- /commit_035.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Annotated training data polygons for Random Forest model 3 | -------------------------------------------------------------------------------- /commit_042.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Built Random Forest baseline classifier using Scikit-learn 3 | -------------------------------------------------------------------------------- /commit_043.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Added confusion matrix and classification report metrics 3 | -------------------------------------------------------------------------------- /commit_047.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Evaluated model performance using K-fold cross-validation 3 | -------------------------------------------------------------------------------- /commit_054.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Mapped predicted sandbar locations from classifier output 3 | -------------------------------------------------------------------------------- /commit_080.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Exported final maps as high-resolution PNGs and GeoTIFFs 3 | -------------------------------------------------------------------------------- /commit_100.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | "Committed final project with tag: ""Project Complete 🎉""" 3 | -------------------------------------------------------------------------------- /commit_009.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Collected hydrological data for Niger River from open sources 3 | -------------------------------------------------------------------------------- /commit_019.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | Exported time-series NDVI and MNDWI for selected sandbar areas 3 | -------------------------------------------------------------------------------- /commit_079.csv: -------------------------------------------------------------------------------- 1 | Commit Message 2 | "Combined river flow, sandbar growth, and rainfall into one plot" 3 | -------------------------------------------------------------------------------- /water levels.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geodesmond1990-design/Using-GIS-and-machine-learning-to-monitor-sandbars-along-the-Niger-River-in-the-Niger-Delta-Nigeria./HEAD/water levels.zip -------------------------------------------------------------------------------- /522025IJECC131037.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geodesmond1990-design/Using-GIS-and-machine-learning-to-monitor-sandbars-along-the-Niger-River-in-the-Niger-Delta-Nigeria./HEAD/522025IJECC131037.pdf -------------------------------------------------------------------------------- /AUGFloodedArea_TIFF18.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geodesmond1990-design/Using-GIS-and-machine-learning-to-monitor-sandbars-along-the-Niger-River-in-the-Niger-Delta-Nigeria./HEAD/AUGFloodedArea_TIFF18.tif -------------------------------------------------------------------------------- /update: -------------------------------------------------------------------------------- 1 | import geopandas as gpd 2 | import rasterio 3 | import numpy as np 4 | import matplotlib.pyplot as plt 5 | from rasterio.plot import show 6 | from sklearn.ensemble import RandomForestClassifier 7 | from sklearn.model_selection import train_test_split 8 | from sklearn.metrics import classification_report 9 | from shapely.geometry import Point 10 | from rasterio.mask import mask 11 | import xgboost as xgb 12 | 13 | # ========== 1. Load Shapefile of Study Area ========== 14 | niger_delta_shp = "data/niger_river_delta_boundary.shp" 15 | aoi = gpd.read_file(niger_delta_shp) 16 | 17 | # ========== 2. Load Satellite Imagery ========== 18 | image_path = "data/sentinel_2_composite.tif" 19 | with rasterio.open(image_path) as src: 20 | img = src.read() 21 | profile = src.profile 22 | transform = src.transform 23 | 24 | # Sentinel-2 bands for NDWI calculation: Green (B3) and NIR (B8) 25 | green_band = img[2] # Assuming B3 26 | nir_band = img[7] # Assuming B8 27 | 28 | # ========== 3. Calculate NDWI ========== 29 | ndwi = (green_band.astype(float) - nir_band.astype(float)) / (green_band + nir_band + 1e-10) 30 | ndwi = np.nan_to_num(ndwi) 31 | 32 | # ========== 4. Create Label Dataset (manually labeled or reference shapefile) ========== 33 | # Example: Sandbar locations shapefile (label = 1), Non-sandbar = 0 34 | sandbar_shp = "data/sandbars_labeled_points.shp" 35 | labels_gdf = gpd.read_file(sandbar_shp) 36 | labels_gdf = labels_gdf.to_crs(aoi.crs) 37 | 38 | # Sample NDWI values at point locations 39 | def extract_features(points_gdf, raster, transform, ndwi_layer): 40 | features = [] 41 | labels = [] 42 | for _, row in points_gdf.iterrows(): 43 | x, y = row.geometry.x, row.geometry.y 44 | row_idx, col_idx = ~transform * (x, y) 45 | row_idx, col_idx = int(row_idx), int(col_idx) 46 | try: 47 | ndwi_val = ndwi_layer[row_idx, col_idx] 48 | features.append([ndwi_val]) 49 | labels.append(row.label) # Assuming 'label' column with 0 or 1 50 | except IndexError: 51 | continue 52 | return np.array(features), np.array(labels) 53 | 54 | X, y = extract_features(labels_gdf, img, transform, ndwi) 55 | 56 | # ========== 5. Train Machine Learning Model ========== 57 | X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) 58 | 59 | model = xgb.XGBClassifier() 60 | model.fit(X_train, y_train) 61 | y_pred = model.predict(X_test) 62 | 63 | print("Classification Report:\n", classification_report(y_test, y_pred)) 64 | 65 | # ========== 6. Apply Model to Classify Entire Image ========== 66 | rows, cols = ndwi.shape 67 | flat_ndwi = ndwi.reshape(-1, 1) 68 | flat_pred = model.predict(flat_ndwi) 69 | classified = flat_pred.reshape(rows, cols) 70 | 71 | # ========== 7. Save Classified Map ========== 72 | out_path = "output/sandbar_classification.tif" 73 | with rasterio.open( 74 | out_path, 'w', 75 | driver='GTiff', 76 | height=rows, 77 | width=cols, 78 | count=1, 79 | dtype='uint8', 80 | crs=profile['crs'], 81 | transform=profile['transform'], 82 | ) as dst: 83 | dst.write(classified.astype('uint8'), 1) 84 | 85 | print(f"Saved classified map to: {out_path}") 86 | 87 | # ========== 8. Visualize ========== 88 | plt.figure(figsize=(10, 6)) 89 | plt.imshow(classified, cmap='gray') 90 | plt.title('Sandbar Classification Map') 91 | plt.colorbar(label='Class (0=Other, 1=Sandbar)') 92 | plt.show() 93 | -------------------------------------------------------------------------------- /water-level-heights-Benue-State.csv: -------------------------------------------------------------------------------- 1 | Lagdo 7.5751 8.0393 2 | category Water Level Water Level Error 3 | Fri Nov 30 2018 47.27228091 0.024758789 4 | Thu Dec 27 2018 46.30519194 0.006142962 5 | Wed Jan 23 2019 45.87200913 0.021922797 6 | Tue Feb 19 2019 45.60924468 0.004094771 7 | Mon Mar 18 2019 45.63749474 0.002372028 8 | Sun Apr 14 2019 45.62467792 0.004057681 9 | Sat May 11 2019 45.88277906 0.018738869 10 | Fri Jun 07 2019 46.97885515 0.003875227 11 | Thu Jul 04 2019 48.63792423 0.006477098 12 | Wed Jul 31 2019 50.2035973 0.008294318 13 | Tue Aug 27 2019 51.16091615 0.005564701 14 | Mon Sep 23 2019 52.39664331 0.009469409 15 | Sun Oct 20 2019 52.38359801 0.0200246 16 | Sat Nov 16 2019 52.08419163 0.000992566 17 | Fri Dec 13 2019 47.48069851 0.01027907 18 | Thu Jan 09 2020 46.51279316 0.01285399 19 | Wed Feb 05 2020 46.0365734 0.02147859 20 | Tue Mar 03 2020 45.76078877 0.027197339 21 | Mon Mar 30 2020 45.73388211 0.003134304 22 | Sun Apr 26 2020 46.03101776 0.002945421 23 | Sat May 23 2020 46.42925258 0.019160159 24 | Fri Jun 19 2020 47.51759998 0.033783887 25 | Thu Jul 16 2020 49.61500853 0.000572188 26 | Wed Aug 12 2020 50.31424871 0.007601795 27 | Tue Sep 08 2020 51.04021082 0.013638392 28 | Mon Oct 05 2020 52.50641195 0.004689823 29 | Sun Nov 01 2020 50.13915223 0.036352454 30 | Sat Nov 28 2020 47.05125698 0.006942647 31 | Fri Dec 25 2020 46.21494241 0.011023985 32 | Thu Jan 21 2021 45.92318564 0.012058152 33 | Tue Mar 16 2021 45.48971358 0.020575782 34 | Mon Apr 12 2021 45.46471711 0.010350287 35 | Sun May 09 2021 45.69094101 0.038869273 36 | Sat Jun 05 2021 46.46394915 0.007893931 37 | Fri Jul 02 2021 47.88225902 0.001604222 38 | Thu Jul 29 2021 49.7641247 0.065667995 39 | Wed Aug 25 2021 51.13728303 0.011949982 40 | Tue Sep 21 2021 51.87777551 0.02102747 41 | Mon Oct 18 2021 49.62822243 0.009392701 42 | Sun Nov 14 2021 48.62666087 0.026477081 43 | Sat Dec 11 2021 46.82914818 0.018453742 44 | Fri Jan 07 2022 46.04531684 0.01826013 45 | Thu Feb 03 2022 45.83180764 0.051424496 46 | Wed Mar 02 2022 45.75478223 0.059351571 47 | Tue Mar 29 2022 45.48701507 0.001764813 48 | Mon Apr 25 2022 46.01346607 0.04096842 49 | Sat Jun 18 2022 46.99684884 0.009062363 50 | Fri Jul 15 2022 48.86546666 0.008139445 51 | Thu Aug 11 2022 50.35993032 0.011513239 52 | Wed Sep 07 2022 52.56792204 0.008811158 53 | Tue Oct 04 2022 53.22925601 0.002813344 54 | Mon Oct 31 2022 51.94105702 0.009590475 55 | Sun Nov 27 2022 47.67201615 0.00662881 56 | Sat Dec 24 2022 46.76431449 0.001875834 57 | Fri Jan 20 2023 46.2015253 0.027267517 58 | Thu Feb 16 2023 46.17088576 0.039773228 59 | Wed Mar 15 2023 45.78589255 0.00835696 60 | Tue Apr 11 2023 45.87581096 0.007463902 61 | Mon May 08 2023 46.1516244 0.016973281 62 | Sun Jun 04 2023 47.08362595 0.002503474 63 | Sat Jul 01 2023 49.47669952 0.012122154 64 | Fri Jul 28 2023 49.83223336 0.015935847 65 | Thu Aug 24 2023 51.09819895 0.005475244 66 | Wed Sep 20 2023 51.769442 0.003439561 67 | Tue Oct 17 2023 52.32219592 0.019214549 68 | Mon Nov 13 2023 49.26966655 0.011059006 69 | Sun Dec 10 2023 47.34393288 0.019458459 70 | Sat Jan 06 2024 46.74413805 0.007402147 71 | Fri Feb 02 2024 46.1286309 0.010949195 72 | Thu Feb 29 2024 45.94802482 0.030835807 73 | Wed Mar 27 2024 45.21930935 0.009305295 74 | Tue Apr 23 2024 46.66715647 0.039647117 75 | Mon May 20 2024 46.8736103 0.016041286 76 | Sun Jun 16 2024 48.16152433 0.003899255 77 | Sat Jul 13 2024 49.31100543 0.008647902 78 | Fri Aug 09 2024 49.92579735 0.014646969 79 | Thu Sep 05 2024 51.33818743 0.005874281 80 | Wed Oct 02 2024 52.94076817 0.00232567 81 | Tue Oct 29 2024 53.15315669 0.018119172 82 | Mon Nov 25 2024 47.75252975 0.001175286 83 | -------------------------------------------------------------------------------- /water-level-heights in-Kogi State.csv: -------------------------------------------------------------------------------- 1 | Kogi State 6.7827 8.0497 2 | category Water Level Water Level Error 3 | Wed Nov 28 2018 40.92290712 0.077367629 4 | Tue Dec 25 2018 39.32639567 0.008415627 5 | Mon Jan 21 2019 39.22095053 0.001112381 6 | Sun Feb 17 2019 39.21545668 0.00967905 7 | Sat Mar 16 2019 39.14228852 0.011902466 8 | Fri Apr 12 2019 38.63395568 0.001262662 9 | Thu May 09 2019 38.95060592 0.004050961 10 | Wed Jun 05 2019 38.94312894 0.021028533 11 | Tue Jul 02 2019 39.30740436 0.020023763 12 | Mon Jul 29 2019 40.76331723 0.002368274 13 | Sun Aug 25 2019 40.77314469 0.016592303 14 | Sat Sep 21 2019 43.61954737 0.010585254 15 | Fri Oct 18 2019 43.25827836 0.005056477 16 | Thu Nov 14 2019 42.07334033 0.00555531 17 | Wed Dec 11 2019 39.81389951 0.005814374 18 | Tue Jan 07 2020 39.1535024 0.00799658 19 | Mon Feb 03 2020 39.25155912 0.008045914 20 | Sun Mar 01 2020 38.6804678 0.000472629 21 | Sat Mar 28 2020 38.9061048 0.004220791 22 | Fri Apr 24 2020 38.62432868 0.022901153 23 | Thu May 21 2020 38.85961322 0.020687789 24 | Wed Jun 17 2020 38.87421745 0.007667466 25 | Tue Jul 14 2020 39.60328791 0.040671601 26 | Mon Aug 10 2020 39.72889685 0.041722386 27 | Sun Sep 06 2020 41.9264767 0.029765198 28 | Sat Oct 03 2020 44.86869009 0.002967152 29 | Fri Oct 30 2020 42.04283913 0.004089869 30 | Thu Nov 26 2020 39.59805384 0.005641208 31 | Tue Jan 19 2021 39.30819539 0.005037758 32 | Mon Feb 15 2021 39.33840164 0.007977362 33 | Sun Mar 14 2021 39.08609851 0.009816312 34 | Sat Apr 10 2021 39.50611707 0.008095358 35 | Fri May 07 2021 39.00245738 0.003090724 36 | Thu Jun 03 2021 38.0789531 0.023866278 37 | Wed Jun 30 2021 39.04888216 0.008992553 38 | Tue Jul 27 2021 39.04211094 0.049703224 39 | Mon Aug 23 2021 41.03047465 0.00065973 40 | Sun Sep 19 2021 42.05530116 0.003771585 41 | Sat Oct 16 2021 40.44562905 0.009237801 42 | Fri Nov 12 2021 39.56583543 0.024939423 43 | Thu Dec 09 2021 39.17582137 0.000708437 44 | Wed Jan 05 2022 39.15403752 0.019200897 45 | Tue Feb 01 2022 38.92891535 0.029196683 46 | Mon Feb 28 2022 39.07446756 0.001875503 47 | Sun Mar 27 2022 39.0602433 0.008246885 48 | Sat Apr 23 2022 39.32941322 0.011356619 49 | Fri May 20 2022 39.04830058 0.011346614 50 | Thu Jun 16 2022 38.52199847 0.058484093 51 | Wed Jul 13 2022 39.09655278 0.013310841 52 | Tue Aug 09 2022 40.38236206 0.013286055 53 | Mon Sep 05 2022 42.16650731 0.010026496 54 | Sun Oct 02 2022 45.43712858 0.004236445 55 | Sat Oct 29 2022 42.9712798 0.007752142 56 | Fri Nov 25 2022 39.41431562 0.006537446 57 | Thu Dec 22 2022 39.00752053 0.003862484 58 | Wed Jan 18 2023 39.69654468 0.329590824 59 | Tue Feb 14 2023 39.49358282 0.013736783 60 | Mon Mar 13 2023 39.25488813 0.037963279 61 | Sun Apr 09 2023 38.82637835 0.030131836 62 | Sat May 06 2023 38.72892376 0.005158835 63 | Fri Jun 02 2023 39.28557149 0.021499331 64 | Thu Jun 29 2023 40.55015167 0.008334029 65 | Wed Jul 26 2023 41.19748615 0.003003122 66 | Tue Aug 22 2023 41.8487981 0.010471721 67 | Mon Sep 18 2023 42.52220359 0.007629436 68 | Sun Oct 15 2023 42.71947236 0.004617808 69 | Sat Nov 11 2023 40.04603505 0.000154127 70 | Thu Jan 04 2024 39.87140343 0.207763731 71 | Wed Jan 31 2024 38.67153559 0.004670254 72 | Tue Feb 27 2024 38.9699884 0.014954518 73 | Mon Mar 25 2024 38.93619487 0.019837067 74 | Sun Apr 21 2024 39.38303818 0.00569455 75 | Sat May 18 2024 39.73034731 0.003029332 76 | Fri Jun 14 2024 39.69538886 0.008609865 77 | Thu Jul 11 2024 40.40965961 0.001283683 78 | Wed Aug 07 2024 39.88684206 0.032228361 79 | Tue Sep 03 2024 41.80607544 0.018692423 80 | Mon Sep 30 2024 43.77976292 0.011805994 81 | Sun Oct 27 2024 44.03932177 0.017459685 82 | Sat Nov 23 2024 39.96086437 0.000247167 83 | -------------------------------------------------------------------------------- /water-level-heights-Rivers-State.csv: -------------------------------------------------------------------------------- 1 | Rivers State Long Lat 2 | "Niger, River" 6.5043 5.343 3 | 4 | category Water Level Water Level Error 5 | Thu May 12 2016 5.749904605 0.007113931 6 | Wed Jun 08 2016 7.292160718 0.012829885 7 | Tue Jul 05 2016 8.552686657 0.014279693 8 | Mon Aug 01 2016 10.61218094 0.01796557 9 | Sun Aug 28 2016 11.67413889 0.000408551 10 | Sat Sep 24 2016 12.24456409 0.013810727 11 | Fri Oct 21 2016 12.32147702 0.00323359 12 | Thu Nov 17 2016 8.729788874 0.038049875 13 | Wed Dec 14 2016 6.929456673 0.006036406 14 | Tue Jan 10 2017 6.508647632 0.008135108 15 | Mon Feb 06 2017 6.004262226 0.040238991 16 | Sun Mar 05 2017 5.82951978 0.007668935 17 | Sat Apr 01 2017 5.8405872 0.007093415 18 | Fri Apr 28 2017 6.01884901 0.080036444 19 | Thu May 25 2017 5.960818587 0.007975343 20 | Wed Jun 21 2017 7.246245702 0.008604987 21 | Tue Jul 18 2017 9.684332445 0.011249451 22 | Mon Aug 14 2017 10.91474611 0.018257535 23 | Sun Sep 10 2017 12.35861165 0.00708891 24 | Sat Oct 07 2017 12.60287672 0.008529486 25 | Fri Nov 03 2017 9.936693814 0.146233573 26 | Thu Nov 30 2017 7.26002499 0.003391683 27 | Wed Dec 27 2017 6.221212666 0.007149619 28 | Tue Jan 23 2018 6.016950837 0.001011369 29 | Mon Feb 19 2018 5.666194999 0.066138663 30 | Sun Mar 18 2018 5.651535814 0.019633917 31 | Sat Apr 14 2018 5.62150666 0.00518467 32 | Fri May 11 2018 5.958215721 0.033430414 33 | Thu Jun 07 2018 6.904676142 0.026788835 34 | Wed Jul 04 2018 7.989853405 0.007081023 35 | Tue Jul 31 2018 10.63735459 0.00154077 36 | Mon Aug 27 2018 11.74118969 0.059485561 37 | Sun Sep 23 2018 12.64324847 0.030355237 38 | Sat Oct 20 2018 12.73097334 0.008567483 39 | Fri Nov 16 2018 9.856972005 0.004765555 40 | Thu Dec 13 2018 7.556360205 0.005556722 41 | Wed Jan 09 2019 6.418307318 0.002227145 42 | Tue Feb 05 2019 6.156580253 0.006816012 43 | Mon Mar 04 2019 6.38326181 0.007376032 44 | Sun Mar 31 2019 5.973703595 0.00038592 45 | Sat Apr 27 2019 6.23332291 0.020348039 46 | Fri May 24 2019 6.353172578 0.018483753 47 | Thu Jun 20 2019 8.130005586 0.042022835 48 | Wed Jul 17 2019 9.947067243 0.003843944 49 | Tue Aug 13 2019 11.15054218 0.012424692 50 | Mon Sep 09 2019 12.39094393 0.012530032 51 | Sun Oct 06 2019 12.68356707 0.033735414 52 | Sat Nov 02 2019 12.68028147 0.00807505 53 | Fri Nov 29 2019 10.93436635 0.078205239 54 | Thu Dec 26 2019 7.753754389 0.017675059 55 | Wed Jan 22 2020 6.933115201 0.004234673 56 | Tue Feb 18 2020 6.254388067 0.000245975 57 | Mon Mar 16 2020 6.240151952 0.002353271 58 | Sun Apr 12 2020 6.25034174 0.003945746 59 | Sat May 09 2020 6.162433838 0.023611822 60 | Fri Jun 05 2020 7.050058845 0.003703096 61 | Thu Jul 02 2020 8.484634284 0.000924994 62 | Wed Jul 29 2020 10.73160743 0.018671556 63 | Tue Aug 25 2020 9.996237707 0.002760529 64 | Mon Sep 21 2020 12.52117547 0.011973996 65 | Sun Oct 18 2020 12.93079028 0.0076071 66 | Sat Nov 14 2020 9.919277096 0.001360691 67 | Fri Dec 11 2020 7.148714997 0.014367895 68 | Thu Jan 07 2021 6.550403913 0.053882456 69 | Wed Feb 03 2021 6.699542238 0.079155128 70 | Tue Mar 02 2021 6.212604247 0.041356325 71 | Mon Mar 29 2021 6.393867552 0.031215216 72 | Sun Apr 25 2021 6.617806295 0.007664911 73 | Sat May 22 2021 6.174172758 0.035349791 74 | Fri Jun 18 2021 6.477399379 0.01772288 75 | Thu Jul 15 2021 8.220750446 0.048526821 76 | Wed Aug 11 2021 9.663282278 0.354701157 77 | Tue Sep 07 2021 12.05918761 0.012276469 78 | Mon Oct 04 2021 12.29675932 0.014925469 79 | Sun Oct 31 2021 10.65128057 0.026157257 80 | Sat Nov 27 2021 7.94148463 0.028371998 81 | Fri Dec 24 2021 6.903156739 0.006973845 82 | Thu Jan 20 2022 6.36775771 0.012060623 83 | Wed Feb 16 2022 6.312739439 0.00417312 84 | Tue Mar 15 2022 6.344524697 0.000548177 85 | Mon Apr 11 2022 6.182873179 0.048730247 86 | Sun May 08 2022 6.631946362 0.017573023 87 | Sat Jun 04 2022 6.93558452 0.012526011 88 | Fri Jul 01 2022 8.052878831 0.001124484 89 | Thu Jul 28 2022 9.325176048 0.019033677 90 | Wed Aug 24 2022 11.60665656 0.002274641 91 | Tue Sep 20 2022 12.58042268 0.027460299 92 | Mon Oct 17 2022 13.50004387 0.005271778 93 | Sun Nov 13 2022 11.261647 0.058364666 94 | Sat Dec 10 2022 7.465329022 0.019013101 95 | Fri Jan 06 2023 6.588165934 0.014499862 96 | Thu Feb 02 2023 6.663983552 0.006306753 97 | Wed Mar 01 2023 6.525072885 0.02710399 98 | Tue Mar 28 2023 5.936458343 0.030956885 99 | Mon Apr 24 2023 6.251904591 0.099224176 100 | Sun May 21 2023 6.659960719 0.039895787 101 | Sat Jun 17 2023 8.703232318 0.033945365 102 | Fri Jul 14 2023 10.72548436 0.018026352 103 | Thu Aug 10 2023 10.50983321 0.005853157 104 | Wed Sep 06 2023 12.41301828 0.000612841 105 | Tue Oct 03 2023 12.54494721 0.025895464 106 | Mon Oct 30 2023 12.12383579 0.002284511 107 | Sun Nov 26 2023 8.614149579 0.008080544 108 | Fri Jan 19 2024 6.63587514 0.008069309 109 | Thu Feb 15 2024 6.220237447 0.027842109 110 | Wed Mar 13 2024 6.637188866 0.005004782 111 | Tue Apr 09 2024 6.356423281 0.007914085 112 | Mon May 06 2024 6.570262652 0.024729748 113 | Sun Jun 02 2024 6.687850662 0.037450694 114 | Sat Jun 29 2024 8.155110364 0.001079303 115 | Fri Jul 26 2024 10.11205453 0.010964628 116 | Thu Aug 22 2024 9.03223089 0.044829084 117 | Wed Sep 18 2024 11.91953427 0.107094565 118 | Tue Oct 15 2024 12.44539233 0.091681625 119 | Mon Nov 11 2024 12.5594144 0.00430578 120 | -------------------------------------------------------------------------------- /water-level-heights-Bayelsa-State.csv: -------------------------------------------------------------------------------- 1 | Delta 6.0588 5.0074 2 | category Water Level Water Level Error 3 | Fri May 06 2016 1.273688955 0.001574678 4 | Thu Jun 02 2016 3.406982027 0.012436734 5 | Wed Jun 29 2016 1.886756392 0.021673246 6 | Tue Jul 26 2016 2.892055407 0.0029886 7 | Mon Aug 22 2016 4.254295732 0.015747815 8 | Sun Sep 18 2016 5.772672769 0.008646884 9 | Sat Oct 15 2016 5.799272015 0.012107826 10 | Fri Nov 11 2016 2.845658836 0.02658071 11 | Thu Dec 08 2016 1.144974723 0.029495828 12 | Wed Jan 04 2017 0.84341667 0.019808909 13 | Tue Jan 31 2017 0.959644864 0.006470575 14 | Mon Feb 27 2017 1.196408952 0.011792685 15 | Sun Mar 26 2017 1.196656016 0.001957801 16 | Sat Apr 22 2017 0.898297215 0.056307979 17 | Fri May 19 2017 0.75384552 0.00011964 18 | Thu Jun 15 2017 1.266414067 0.011857117 19 | Wed Jul 12 2017 2.23300664 0.04861738 20 | Tue Aug 08 2017 3.582053067 0.030580289 21 | Mon Sep 04 2017 5.004488108 0.008739105 22 | Sun Oct 01 2017 5.763331838 0.019440825 23 | Sat Oct 28 2017 5.022609475 0.001020249 24 | Fri Nov 24 2017 1.328492292 0.023593182 25 | Thu Dec 21 2017 1.120136169 0.008080485 26 | Wed Jan 17 2018 1.025207132 4.18665E-05 27 | Tue Feb 13 2018 1.067910353 0.011082035 28 | Mon Mar 12 2018 0.633489395 0.004074432 29 | Sun Apr 08 2018 0.544077314 0.03068272 30 | Sat May 05 2018 0.622037555 0.010666266 31 | Fri Jun 01 2018 1.551628418 0.032852862 32 | Thu Jun 28 2018 1.621327594 0.010511663 33 | Wed Jul 25 2018 2.849151783 0.023319299 34 | Tue Aug 21 2018 4.107050114 0.002953258 35 | Mon Sep 17 2018 5.866015331 0.003021717 36 | Sun Oct 14 2018 6.47782985 0.00577094 37 | Sat Nov 10 2018 4.270791882 0.004648458 38 | Fri Dec 07 2018 1.537365124 0.032998931 39 | Thu Jan 03 2019 1.016103916 0.050947102 40 | Wed Jan 30 2019 0.931336088 0.017275998 41 | Tue Feb 26 2019 0.764699917 0.024410799 42 | Mon Mar 25 2019 0.960819707 0.007564265 43 | Sun Apr 21 2019 1.169184783 0.00586392 44 | Sat May 18 2019 1.191589173 0.00380795 45 | Fri Jun 14 2019 1.256080442 0.051876218 46 | Thu Jul 11 2019 2.53282279 0.031754204 47 | Wed Aug 07 2019 3.930276179 0.011301938 48 | Tue Sep 03 2019 4.674920049 0.018804332 49 | Mon Sep 30 2019 5.996944165 0.009459568 50 | Sun Oct 27 2019 6.295269632 0.01110908 51 | Sat Nov 23 2019 6.201164962 0.011647353 52 | Fri Dec 20 2019 1.596054791 0.004134927 53 | Thu Jan 16 2020 0.90778274 0.031140623 54 | Wed Feb 12 2020 1.019743868 0.016747073 55 | Tue Mar 10 2020 1.260659695 0.008816959 56 | Mon Apr 06 2020 1.335366438 0.006084614 57 | Sun May 03 2020 1.064107206 0.009051293 58 | Sat May 30 2020 0.846980623 0.046114819 59 | Fri Jun 26 2020 1.257267213 0.042042039 60 | Thu Jul 23 2020 3.430242009 0.004243682 61 | Wed Aug 19 2020 3.461440362 0.021689111 62 | Tue Sep 15 2020 4.869101202 0.004020802 63 | Mon Oct 12 2020 6.4784878 0.001283424 64 | Sun Nov 08 2020 5.753842876 0.008644227 65 | Sat Dec 05 2020 1.182336956 0.048098658 66 | Fri Jan 01 2021 1.238141575 0.010985541 67 | Thu Jan 28 2021 1.270719233 0.004567722 68 | Wed Feb 24 2021 1.110253787 0.001940485 69 | Tue Mar 23 2021 0.789297419 0.005842167 70 | Mon Apr 19 2021 0.88085147 0.003960821 71 | Sun May 16 2021 0.889706497 0.023555337 72 | Sat Jun 12 2021 1.206738645 0.013327513 73 | Fri Jul 09 2021 1.783656394 0.020075461 74 | Thu Aug 05 2021 1.895632524 0.022863758 75 | Wed Sep 01 2021 4.560171718 0.011902528 76 | Tue Sep 28 2021 5.453896515 0.000268668 77 | Mon Oct 25 2021 3.517770733 0.014013949 78 | Sun Nov 21 2021 2.245972257 0.001261862 79 | Sat Dec 18 2021 1.273765998 0.005779618 80 | Fri Jan 14 2022 1.022245496 0.006646233 81 | Thu Feb 10 2022 0.667572115 0.001272003 82 | Wed Mar 09 2022 0.8815414 0.012225426 83 | Tue Apr 05 2022 1.106065567 0.028123211 84 | Mon May 02 2022 1.290609277 0.002170176 85 | Sun May 29 2022 1.509617622 0.01062723 86 | Sat Jun 25 2022 1.421143794 0.015070565 87 | Fri Jul 22 2022 1.888022464 0.000466692 88 | Thu Aug 18 2022 3.823156254 0.006465082 89 | Wed Sep 14 2022 5.387346703 0.006036211 90 | Tue Oct 11 2022 6.590335115 0.006479603 91 | Mon Nov 07 2022 6.339008503 0.024286257 92 | Sun Dec 04 2022 1.640978884 0.004874756 93 | Sat Dec 31 2022 0.737538448 0.06132916 94 | Fri Jan 27 2023 0.967997632 0.002207958 95 | Thu Feb 23 2023 1.172271108 0.012190602 96 | Wed Mar 22 2023 1.354081209 0.005247993 97 | Tue Apr 18 2023 1.341367977 0.001147793 98 | Mon May 15 2023 1.201393238 0.043191647 99 | Sun Jun 11 2023 1.36027665 0.011539694 100 | Sat Jul 08 2023 3.316319262 0.006775228 101 | Fri Aug 04 2023 3.922290261 0.005907372 102 | Thu Aug 31 2023 4.587773794 0.008928647 103 | Wed Sep 27 2023 5.58903698 0.024073185 104 | Tue Oct 24 2023 5.843824698 0.001450071 105 | Mon Nov 20 2023 2.769629785 0.00412885 106 | Sun Dec 17 2023 1.510088786 0.009019941 107 | Sat Jan 13 2024 1.229833209 0.009548245 108 | Fri Feb 09 2024 1.151783122 0.001244891 109 | Thu Mar 07 2024 1.151595311 0.004346904 110 | Wed Apr 03 2024 0.926003689 0.031770059 111 | Tue Apr 30 2024 0.780834242 0.003358146 112 | Mon May 27 2024 1.074685376 0.037664874 113 | Sun Jun 23 2024 1.678161547 0.015925179 114 | Sat Jul 20 2024 2.911868023 0.005247861 115 | Fri Aug 16 2024 2.492166171 0.01647807 116 | Thu Sep 12 2024 4.310214823 0.054814197 117 | Wed Oct 09 2024 5.630645194 0.010843767 118 | Tue Nov 05 2024 6.184918437 0.003130416 119 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Using-GIS-and-machine-learning-to-monitor-sandbars-along-the-Niger-River-in-the-Niger-Delta-Nigeria. 2 | 3 | This repository contains the workflow and analysis for detecting changes in sandbar areas over time using a combination of Geographic Information Systems (GIS) and statistical methods, augmented by machine learning for deeper insights. 4 | 5 | --- 6 | 7 | ## **Table of Contents** 8 | 9 | 1. [Introduction](#introduction) 10 | 2. [Objectives](#objectives) 11 | 3. [Data Description](#data-description) 12 | 4. [Methodology](#methodology) 13 | 5. [Results](#results) 14 | 6. [Future Work](#future-work) 15 | 7. [How to Use](#how-to-use) 16 | 8. [References](#references) 17 | 18 | --- 19 | 20 | ## **Introduction** 21 | 22 | Sandbars are dynamic landforms that change due to natural processes like sedimentation and erosion. Monitoring their changes is essential for understanding ecological dynamics and planning coastal management strategies. This project applies change detection analysis using GIS datasets and machine learning techniques. 23 | 24 | --- 25 | 26 | ## **Objectives** 27 | 28 | - Analyze changes in sandbar areas over different years. 29 | - Identify correlations and trends between time periods. 30 | - Apply statistical tests and machine learning to quantify and predict changes. 31 | - Visualize findings for enhanced interpretability. 32 | 33 | --- 34 | 35 | ## **Data Description** 36 | 37 | The dataset consists of sandbar area measurements (in arbitrary units) for the years: 38 | - 1974 39 | - 1984 40 | - 1994 41 | - 2004 42 | - 2014 43 | - 2024 44 | 45 | **Sample Data Representation:** 46 | 47 | | Year | Values (Sample) | 48 | |--------|----------------------------------| 49 | | 1974 | 2.22, 24.15, 4.39, ... | 50 | | 1984 | 544.63, 2.07, 240.42, ... | 51 | | ... | ... | 52 | | 2024 | 19.31, 10.51, 4.75, ... | 53 | 54 | The data has been preprocessed for statistical analysis and visualization. 55 | 56 | --- 57 | 58 | ## **Methodology** 59 | 60 | The analysis workflow comprises several steps: 61 | 62 | ### 1. **Descriptive Statistics** 63 | - **Purpose**: Summarize key statistics such as mean, median, and variability. 64 | - **Code**: 65 | ```python 66 | desc_stats = df.describe() 67 | print(desc_stats) 68 | ``` 69 | 70 | --- 71 | 72 | ### 2. **Change Detection Analysis** 73 | - **Purpose**: Compute differences in sandbar areas between consecutive years to identify change magnitude and direction. 74 | - **Code**: 75 | ```python 76 | df_diff = df.diff(axis=1) 77 | print(df_diff) 78 | ``` 79 | 80 | --- 81 | 82 | ### 3. **Correlation Analysis** 83 | - **Purpose**: Understand relationships between time periods using: 84 | - Pearson Correlation: Measures linear relationships. 85 | - Spearman Rank Correlation: Captures monotonic relationships. 86 | - **Code**: 87 | ```python 88 | for year1 in df.columns: 89 | for year2 in df.columns: 90 | if year1 != year2: 91 | corr, _ = pearsonr(df[year1].dropna(), df[year2].dropna()) 92 | print(f"Pearson correlation between {year1} and {year2}: {corr:.2f}") 93 | ``` 94 | 95 | --- 96 | 97 | ### 4. **Time Series Analysis** 98 | - **Purpose**: Test for stationarity using the Augmented Dickey-Fuller (ADF) test. 99 | - **Code**: 100 | ```python 101 | from statsmodels.tsa.stattools import adfuller 102 | for year in df.columns: 103 | result = adfuller(df[year].dropna()) 104 | print(f"ADF Statistic for {year}: {result[0]:.2f}, p-value: {result[1]:.2f}") 105 | ``` 106 | 107 | --- 108 | 109 | ### 5. **Hypothesis Testing** 110 | - **Purpose**: Perform a two-sample t-test between the years 1974 and 2024 to evaluate differences in means. 111 | - **Code**: 112 | ```python 113 | t_stat, p_val = ttest_ind(df["1974"].dropna(), df["2024"].dropna()) 114 | print(f"T-statistic: {t_stat:.2f}, p-value: {p_val:.2f}") 115 | ``` 116 | 117 | --- 118 | 119 | ### 6. **Visualizations** 120 | - **Purpose**: Present findings graphically using boxplots and heatmaps. 121 | - **Code**: 122 | ```python 123 | plt.figure(figsize=(10, 6)) 124 | sns.boxplot(data=df) 125 | plt.title('Boxplot of Sandbar Areas Across Years') 126 | plt.show() 127 | 128 | plt.figure(figsize=(10, 6)) 129 | sns.heatmap(df.corr(), annot=True, cmap='coolwarm') 130 | plt.title('Correlation Heatmap') 131 | plt.show() 132 | ``` 133 | 134 | --- 135 | 136 | ## **Results** 137 | 138 | ### Descriptive Statistics 139 | - Observed increasing variability in sandbar areas across decades. 140 | 141 | ### Change Detection 142 | - Significant changes identified in specific periods, indicating potential influences like climatic events or anthropogenic factors. 143 | 144 | ### Correlation Analysis 145 | - Strong correlations observed between consecutive decades, with reduced correlations across non-adjacent years. 146 | 147 | ### Hypothesis Testing 148 | - T-test revealed a significant difference (p < 0.05) between the sandbar areas in 1974 and 2024. 149 | 150 | ### Visual Insights 151 | - Boxplots highlighted the variability across decades. 152 | - Heatmaps showed temporal relationships. 153 | 154 | --- 155 | 156 | ## **Future Work** 157 | 158 | 1. **Integration of Machine Learning**: 159 | - Regression models for sandbar area predictions. 160 | - Classification algorithms for identifying erosion-prone regions. 161 | 162 | 2. **Satellite Data Analysis**: 163 | - Use remote sensing to analyze spatial and temporal sandbar dynamics. 164 | 165 | 3. **Automation**: 166 | - Develop a pipeline to process GIS data and generate predictions in real-time. 167 | 168 | --- 169 | 170 | ## **How to Use** 171 | 172 | ### Requirements 173 | - Python 3.8+ 174 | - Libraries: 175 | ```bash 176 | pip install pandas numpy scipy statsmodels matplotlib seaborn 177 | ``` 178 | 179 | ### Execution 180 | 1. Clone this repository: 181 | ```bash 182 | git clone https://github.com/Akajiaku11/sandbar-monitoring 183 | cd sandbar-monitoring 184 | ``` 185 | 2. Run the analysis script: 186 | ```bash 187 | python sandbar_analysis.py 188 | ``` 189 | 190 | ### Outputs 191 | - Descriptive statistics, correlation results, hypothesis testing results. 192 | - Graphical visualizations saved in the `outputs/` folder. 193 | 194 | -- 195 | 196 | ## **References** 197 | - Statistical methods: Pearson, Spearman, ADF test. 198 | - Visualization: Matplotlib, Seaborn. 199 | - Machine learning frameworks for future extensions: Scikit-learn, TensorFlow. 200 | 201 | --- 202 | 203 | Feel free to contribute or raise issues! 204 | -------------------------------------------------------------------------------- /Change_Detection_Analysis_for_Monitoring_of_Sandbar_.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "nbformat": 4, 3 | "nbformat_minor": 0, 4 | "metadata": { 5 | "colab": { 6 | "provenance": [], 7 | "authorship_tag": "ABX9TyPICDUTlhIHKnLjqDnvOeSM", 8 | "include_colab_link": true 9 | }, 10 | "kernelspec": { 11 | "name": "python3", 12 | "display_name": "Python 3" 13 | }, 14 | "language_info": { 15 | "name": "python" 16 | } 17 | }, 18 | "cells": [ 19 | { 20 | "cell_type": "markdown", 21 | "metadata": { 22 | "id": "view-in-github", 23 | "colab_type": "text" 24 | }, 25 | "source": [ 26 | "\"Open" 27 | ] 28 | }, 29 | { 30 | "cell_type": "code", 31 | "execution_count": null, 32 | "metadata": { 33 | "colab": { 34 | "base_uri": "https://localhost:8080/", 35 | "height": 108 36 | }, 37 | "id": "zq62gZsvwWTR", 38 | "outputId": "fac6199e-73db-415b-b33b-b54a157ad36d" 39 | }, 40 | "outputs": [ 41 | { 42 | "output_type": "error", 43 | "ename": "SyntaxError", 44 | "evalue": "invalid syntax (, line 66)", 45 | "traceback": [ 46 | "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m66\u001b[0m\n\u001b[0;31m pip install pandas numpy scipy statsmodels matplotlib seaborn\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n" 47 | ] 48 | } 49 | ], 50 | "source": [ 51 | "\n", 52 | "import numpy as np\n", 53 | "from scipy.stats import pearsonr, spearmanr, ttest_ind\n", 54 | "from statsmodels.tsa.stattools import adfuller\n", 55 | "import matplotlib.pyplot as plt\n", 56 | "import seaborn as sns\n", 57 | "\n", 58 | "# Data Preparation\n", 59 | "data = {\n", 60 | " \"1974\": [2.22, 24.15, 4.39, 4.39, 2.22, 2.22, 4.39, 382.53, 176.93, 305.48, 147.91, 247.53, 675.89, 20.89, 4.39, 6.71, 137.53, 10.70, 4.39, 673.57, 4.44, 762.03, 2.22, 166.03, 42.14, 564.50, 171.12, 277.08, 7.70, 33.19, 4.39, 226.89, 319.66, 20.28, 2.22, 1169.62],\n", 61 | " \"1984\": [544.63, 2.07, 240.42, 13.32, 2.07, 2.07, 4.13, 24.73, 414.04, 167.28, 200.50, 161.12, 36.14, 190.99, 51.08, 13.54, 60.98, 225.26, 34.31, 9.75, 2.07, 2.07, 30.84, 152.01, 2.07, 113.25, 159.02, 110.24, 367.64, 163.71, 1.94, 1.94, 9.96, 2.07, 4.13, 773.33],\n", 62 | " \"1994\": [182.78, 1002.98, 105.90, 117.23, 3.45, 3.45, 27.46, 6.88, 3.45, 155.69, 3.45, 6.80, 566.06, 6.80, 3.45, 15.12, 6.80, 15.23, 3.45, 10.41, 3.45, 3.45, 3.45, 6.80, 3.45, 6.80, 499.95, 3.45, 3.45, 11.94, 3.45, 150.67, 98.30, 3.45, 3.45, 165.64],\n", 63 | " \"2004\": [2.07, 2.07, 2.07, 2.07, 23.19, 6.32, 3.03, 522.95, 2.07, 18.31, 2.07, 2.07, 15.99, 2.07, 8.13, 2.07, 2.07, 4.13, 28.49, 8.43, 9.96, 4.08, 7.10, 31.06, 2.07, 2.07, 2.07, 2.07, 129.05, 2.07, 2.07, 4.13, 1567.41, 2.07, 2.07, 1.94],\n", 64 | " \"2014\": [7.10, 223.68, 21.90, 37.77, 13.32, 2.07, 38.48, 81.04, 1387.01, 4.13, 860.63, 41.29, 140.87, 7.10, 2.07, 289.26, 2.07, 102.22, 957.43, 2.07, 108.14, 16.01, 75.11, 2.07, 2.07, 2.07, 4.08, 2.07, 210.04, 128.37, 73.63, 7.10, 11.38, 6.84, 3.03, 1.94],\n", 65 | " \"2024\": [19.31, 10.51, 4.75, 2.38, 2.38, 2.38, 323.47, 2.38, 708.23, 10.44, 6.96, 3.48, 126.17, 480.25, 483.60, 607.42, 511.54, 76.65, 2.38, 385.03, 2.38, 2.38, 2.38, 2.38, 36.95, 81.84, 2.38, 9.39, 6.98, 2.38, 4.75, 2.38, 2.38, 568.74, 147.39, 405.01]\n", 66 | "}\n", 67 | "\n", 68 | "df = pd.DataFrame(data)\n", 69 | "\n", 70 | "# Descriptive Statistics\n", 71 | "desc_stats = df.describe()\n", 72 | "print(\"Descriptive Statistics:\")\n", 73 | "print(desc_stats)\n", 74 | "\n", 75 | "# Change Detection Analysis\n", 76 | "df_diff = df.diff(axis=1)\n", 77 | "print(\"\\nChange Detection Analysis:\")\n", 78 | "print(df_diff)\n", 79 | "\n", 80 | "# Pearson Correlation Coefficient\n", 81 | "print(\"\\nPearson Correlation Coefficient:\")\n", 82 | "for year1 in df.columns:\n", 83 | " for year2 in df.columns:\n", 84 | " if year1 != year2:\n", 85 | " corr, _ = pearsonr(df[year1].dropna(), df[year2].dropna())\n", 86 | " print(f\"Pearson correlation between {year1} and {year2}: {corr:.2f}\")\n", 87 | "\n", 88 | "# Spearman's Rank Correlation Coefficient\n", 89 | "print(\"\\nSpearman's Rank Correlation Coefficient:\")\n", 90 | "for year1 in df.columns:\n", 91 | " for year2 in df.columns:\n", 92 | " if year1 != year2:\n", 93 | " corr, _ = spearmanr(df[year1].dropna(), df[year2].dropna())\n", 94 | " print(f\"Spearman correlation between {year1} and {year2}: {corr:.2f}\")\n", 95 | "\n", 96 | "# Time Series Analysis\n", 97 | "print(\"\\nTime Series Analysis (ADF Test):\")\n", 98 | "for year in df.columns:\n", 99 | " result = adfuller(df[year].dropna())\n", 100 | " print(f\"ADF Statistic for {year}: {result[0]:.2f}, p-value: {result[1]:.2f}\")\n", 101 | "\n", 102 | "# Hypothesis Testing\n", 103 | "print(\"\\nHypothesis Testing (t-test between 1974 and 2024):\")\n", 104 | "t_stat, p_val = ttest_ind(df[\"1974\"].dropna(), df[\"2024\"].dropna())\n", 105 | "print(f\"T-statistic: {t_stat:.2f}, p-value: {p_val:.2f}\")\n", 106 | "\n", 107 | "# Visualizations\n", 108 | "plt.figure(figsize=(10, 6))\n", 109 | "sns.boxplot(data=df)\n", 110 | "plt.title('Boxplot of Sand bar Areas Across Years')\n", 111 | "plt.show()\n", 112 | "\n", 113 | "plt.figure(figsize=(10, 6))\n", 114 | "sns.heatmap(df.corr(), annot=True, cmap='coolwarm')\n", 115 | "plt.title('Correlation Heatmap')\n", 116 | "plt.show()\n", 117 | "pip install pandas numpy scipy statsmodels matplotlib seaborn\n" 118 | ] 119 | }, 120 | { 121 | "cell_type": "code", 122 | "source": [ 123 | "import pandas as pd\n", 124 | "import numpy as np\n", 125 | "from scipy.stats import pearsonr, spearmanr, ttest_ind\n", 126 | "from statsmodels.tsa.stattools import adfuller\n", 127 | "import matplotlib.pyplot as plt\n", 128 | "import seaborn as sns\n", 129 | "\n", 130 | "# Data Preparation\n", 131 | "data = {\n", 132 | " \"1974\": [2.22, 24.15, 4.39, 4.39, 2.22, 2.22, 4.39, 382.53, 176.93, 305.48, 147.91, 247.53, 675.89, 20.89, 4.39, 6.71, 137.53, 10.70, 4.39, 673.57, 4.44, 762.03, 2.22, 166.03, 42.14, 564.50, 171.12, 277.08, 7.70, 33.19, 4.39, 226.89, 319.66, 20.28, 2.22, 1169.62],\n", 133 | " \"1984\": [544.63, 2.07, 240.42, 13.32, 2.07, 2.07, 4.13, 24.73, 414.04, 167.28, 200.50, 161.12, 36.14, 190.99, 51.08, 13.54, 60.98, 225.26, 34.31, 9.75, 2.07, 2.07, 30.84, 152.01, 2.07, 113.25, 159.02, 110.24, 367.64, 163.71, 1.94, 1.94, 9.96, 2.07, 4.13, 773.33],\n", 134 | " \"1994\": [182.78, 1002.98, 105.90, 117.23, 3.45, 3.45, 27.46, 6.88, 3.45, 155.69, 3.45, 6.80, 566.06, 6.80, 3.45, 15.12, 6.80, 15.23, 3.45, 10.41, 3.45, 3.45, 3.45, 6.80, 3.45, 6.80, 499.95, 3.45, 3.45, 11.94, 3.45, 150.67, 98.30, 3.45, 3.45, 165.64],\n", 135 | " \"2004\": [2.07, 2.07, 2.07, 2.07, 23.19, 6.32, 3.03, 522.95, 2.07, 18.31, 2.07, 2.07, 15.99, 2.07, 8.13, 2.07, 2.07, 4.13, 28.49, 8.43, 9.96, 4.08, 7.10, 31.06, 2.07, 2.07, 2.07, 2.07, 129.05, 2.07, 2.07, 4.13, 1567.41, 2.07, 2.07, 1.94],\n", 136 | " \"2014\": [7.10, 223.68, 21.90, 37.77, 13.32, 2.07, 38.48, 81.04, 1387.01, 4.13, 860.63, 41.29, 140.87, 7.10, 2.07, 289.26, 2.07, 102.22, 957.43, 2.07, 108.14, 16.01, 75.11, 2.07, 2.07, 2.07, 4.08, 2.07, 210.04, 128.37, 73.63, 7.10, 11.38, 6.84, 3.03, 1.94],\n", 137 | " \"2024\": [19.31, 10.51, 4.75, 2.38, 2.38, 2.38, 323.47, 2.38, 708.23, 10.44, 6.96, 3.48, 126.17, 480.25, 483.60, 607.42, 511.54, 76.65, 2.38, 385.03, 2.38, 2.38, 2.38, 2.38, 36.95, 81.84, 2.38, 9.39, 6.98, 2.38, 4.75, 2.38, 2.38, 568.74, 147.39, 405.01]\n", 138 | "}\n", 139 | "\n", 140 | "df = pd.DataFrame(data)\n", 141 | "\n", 142 | "# Descriptive Statistics\n", 143 | "desc_stats = df.describe()\n", 144 | "print(\"Descriptive Statistics:\")\n", 145 | "print(desc_stats)\n", 146 | "\n", 147 | "# Change Detection Analysis\n", 148 | "df_diff = df.diff(axis=1)\n", 149 | "print(\"\\nChange Detection Analysis:\")\n", 150 | "print(df_diff)\n", 151 | "\n", 152 | "# Pearson Correlation Coefficient\n", 153 | "print(\"\\nPearson Correlation Coefficient:\")\n", 154 | "for year1 in df.columns:\n", 155 | " for year2 in df.columns:\n", 156 | " if year1 != year2:\n", 157 | " corr, _ = pearsonr(df[year1].dropna(), df[year2].dropna())\n", 158 | " print(f\"Pearson correlation between {year1} and {year2}: {corr:.2f}\")\n", 159 | "\n", 160 | "# Spearman's Rank Correlation Coefficient\n", 161 | "print(\"\\nSpearman's Rank Correlation Coefficient:\")\n", 162 | "for year1 in df.columns:\n", 163 | " for year2 in df.columns:\n", 164 | " if year1 != year2:\n", 165 | " corr, _ = spearmanr(df[year1].dropna(), df[year2].dropna())\n", 166 | " print(f\"Spearman correlation between {year1} and {year2}: {corr:.2f}\")\n", 167 | "\n", 168 | "# Time Series Analysis\n", 169 | "print(\"\\nTime Series Analysis (ADF Test):\")\n", 170 | "for year in df.columns:\n", 171 | " result = adfuller(df[year].dropna())\n", 172 | " print(f\"ADF Statistic for {year}: {result[0]:.2f}, p-value: {result[1]:.2f}\")\n", 173 | "\n", 174 | "# Hypothesis Testing\n", 175 | "print(\"\\nHypothesis Testing (t-test between 1974 and 2024):\")\n", 176 | "t_stat, p_val = ttest_ind(df[\"1974\"].dropna(), df[\"2024\"].dropna())\n", 177 | "print(f\"T-statistic: {t_stat:.2f}, p-value: {p_val:.2f}\")\n", 178 | "\n", 179 | "# Visualizations\n", 180 | "plt.figure(figsize=(10, 6))\n", 181 | "sns.boxplot(data=df)\n", 182 | "plt.title('Boxplot of Sand bar Areas Across Years')\n", 183 | "plt.show()\n", 184 | "\n", 185 | "plt.figure(figsize=(10, 6))\n", 186 | "sns.heatmap(df.corr(), annot=True, cmap='coolwarm')\n", 187 | "plt.title('Correlation Heatmap')\n", 188 | "plt.show()\n" 189 | ], 190 | "metadata": { 191 | "colab": { 192 | "base_uri": "https://localhost:8080/", 193 | "height": 1000 194 | }, 195 | "id": "9qqgDBM-w_7V", 196 | "outputId": "ee29daec-603e-4caa-9617-a483548ca2dc" 197 | }, 198 | "execution_count": null, 199 | "outputs": [ 200 | { 201 | "output_type": "stream", 202 | "name": "stdout", 203 | "text": [ 204 | "Descriptive Statistics:\n", 205 | " 1974 1984 1994 2004 2014 \\\n", 206 | "count 36.000000 36.000000 36.000000 36.000000 36.000000 \n", 207 | "mean 183.665000 119.297778 89.388611 67.526667 135.429444 \n", 208 | "std 274.043124 172.315036 202.344848 271.825719 301.459484 \n", 209 | "min 2.220000 1.940000 3.450000 1.940000 1.940000 \n", 210 | "25% 4.390000 3.615000 3.450000 2.070000 2.790000 \n", 211 | "50% 28.670000 35.225000 6.800000 2.070000 14.665000 \n", 212 | "75% 254.917500 164.602500 100.200000 8.812500 103.700000 \n", 213 | "max 1169.620000 773.330000 1002.980000 1567.410000 1387.010000 \n", 214 | "\n", 215 | " 2024 \n", 216 | "count 36.000000 \n", 217 | "mean 140.272222 \n", 218 | "std 219.170714 \n", 219 | "min 2.380000 \n", 220 | "25% 2.380000 \n", 221 | "50% 8.185000 \n", 222 | "75% 191.410000 \n", 223 | "max 708.230000 \n", 224 | "\n", 225 | "Change Detection Analysis:\n", 226 | " 1974 1984 1994 2004 2014 2024\n", 227 | "0 NaN 542.41 -361.85 -180.71 5.03 12.21\n", 228 | "1 NaN -22.08 1000.91 -1000.91 221.61 -213.17\n", 229 | "2 NaN 236.03 -134.52 -103.83 19.83 -17.15\n", 230 | "3 NaN 8.93 103.91 -115.16 35.70 -35.39\n", 231 | "4 NaN -0.15 1.38 19.74 -9.87 -10.94\n", 232 | "5 NaN -0.15 1.38 2.87 -4.25 0.31\n", 233 | "6 NaN -0.26 23.33 -24.43 35.45 284.99\n", 234 | "7 NaN -357.80 -17.85 516.07 -441.91 -78.66\n", 235 | "8 NaN 237.11 -410.59 -1.38 1384.94 -678.78\n", 236 | "9 NaN -138.20 -11.59 -137.38 -14.18 6.31\n", 237 | "10 NaN 52.59 -197.05 -1.38 858.56 -853.67\n", 238 | "11 NaN -86.41 -154.32 -4.73 39.22 -37.81\n", 239 | "12 NaN -639.75 529.92 -550.07 124.88 -14.70\n", 240 | "13 NaN 170.10 -184.19 -4.73 5.03 473.15\n", 241 | "14 NaN 46.69 -47.63 4.68 -6.06 481.53\n", 242 | "15 NaN 6.83 1.58 -13.05 287.19 318.16\n", 243 | "16 NaN -76.55 -54.18 -4.73 0.00 509.47\n", 244 | "17 NaN 214.56 -210.03 -11.10 98.09 -25.57\n", 245 | "18 NaN 29.92 -30.86 25.04 928.94 -955.05\n", 246 | "19 NaN -663.82 0.66 -1.98 -6.36 382.96\n", 247 | "20 NaN -2.37 1.38 6.51 98.18 -105.76\n", 248 | "21 NaN -759.96 1.38 0.63 11.93 -13.63\n", 249 | "22 NaN 28.62 -27.39 3.65 68.01 -72.73\n", 250 | "23 NaN -14.02 -145.21 24.26 -28.99 0.31\n", 251 | "24 NaN -40.07 1.38 -1.38 0.00 34.88\n", 252 | "25 NaN -451.25 -106.45 -4.73 0.00 79.77\n", 253 | "26 NaN -12.10 340.93 -497.88 2.01 -1.70\n", 254 | "27 NaN -166.84 -106.79 -1.38 0.00 7.32\n", 255 | "28 NaN 359.94 -364.19 125.60 80.99 -203.06\n", 256 | "29 NaN 130.52 -151.77 -9.87 126.30 -125.99\n", 257 | "30 NaN -2.45 1.51 -1.38 71.56 -68.88\n", 258 | "31 NaN -224.95 148.73 -146.54 2.97 -4.72\n", 259 | "32 NaN -309.70 88.34 1469.11 -1556.03 -9.00\n", 260 | "33 NaN -18.21 1.38 -1.38 4.77 561.90\n", 261 | "34 NaN 1.91 -0.68 -1.38 0.96 144.36\n", 262 | "35 NaN -396.29 -607.69 -163.70 0.00 403.07\n", 263 | "\n", 264 | "Pearson Correlation Coefficient:\n", 265 | "Pearson correlation between 1974 and 1984: 0.32\n", 266 | "Pearson correlation between 1974 and 1994: 0.12\n", 267 | "Pearson correlation between 1974 and 2004: 0.11\n", 268 | "Pearson correlation between 1974 and 2014: -0.12\n", 269 | "Pearson correlation between 1974 and 2024: 0.08\n", 270 | "Pearson correlation between 1984 and 1974: 0.32\n", 271 | "Pearson correlation between 1984 and 1994: 0.01\n", 272 | "Pearson correlation between 1984 and 2004: -0.12\n", 273 | "Pearson correlation between 1984 and 2014: 0.20\n", 274 | "Pearson correlation between 1984 and 2024: 0.17\n", 275 | "Pearson correlation between 1994 and 1974: 0.12\n", 276 | "Pearson correlation between 1994 and 1984: 0.01\n", 277 | "Pearson correlation between 1994 and 2004: -0.02\n", 278 | "Pearson correlation between 1994 and 2014: -0.05\n", 279 | "Pearson correlation between 1994 and 2024: -0.17\n", 280 | "Pearson correlation between 2004 and 1974: 0.11\n", 281 | "Pearson correlation between 2004 and 1984: -0.12\n", 282 | "Pearson correlation between 2004 and 1994: -0.02\n", 283 | "Pearson correlation between 2004 and 2014: -0.07\n", 284 | "Pearson correlation between 2004 and 2024: -0.15\n", 285 | "Pearson correlation between 2014 and 1974: -0.12\n", 286 | "Pearson correlation between 2014 and 1984: 0.20\n", 287 | "Pearson correlation between 2014 and 1994: -0.05\n", 288 | "Pearson correlation between 2014 and 2004: -0.07\n", 289 | "Pearson correlation between 2014 and 2024: 0.23\n", 290 | "Pearson correlation between 2024 and 1974: 0.08\n", 291 | "Pearson correlation between 2024 and 1984: 0.17\n", 292 | "Pearson correlation between 2024 and 1994: -0.17\n", 293 | "Pearson correlation between 2024 and 2004: -0.15\n", 294 | "Pearson correlation between 2024 and 2014: 0.23\n", 295 | "\n", 296 | "Spearman's Rank Correlation Coefficient:\n", 297 | "Spearman correlation between 1974 and 1984: 0.18\n", 298 | "Spearman correlation between 1974 and 1994: 0.30\n", 299 | "Spearman correlation between 1974 and 2004: 0.01\n", 300 | "Spearman correlation between 1974 and 2014: -0.17\n", 301 | "Spearman correlation between 1974 and 2024: 0.09\n", 302 | "Spearman correlation between 1984 and 1974: 0.18\n", 303 | "Spearman correlation between 1984 and 1994: 0.24\n", 304 | "Spearman correlation between 1984 and 2004: -0.20\n", 305 | "Spearman correlation between 1984 and 2014: 0.07\n", 306 | "Spearman correlation between 1984 and 2024: 0.25\n", 307 | "Spearman correlation between 1994 and 1974: 0.30\n", 308 | "Spearman correlation between 1994 and 1984: 0.24\n", 309 | "Spearman correlation between 1994 and 2004: -0.12\n", 310 | "Spearman correlation between 1994 and 2014: -0.01\n", 311 | "Spearman correlation between 1994 and 2024: 0.03\n", 312 | "Spearman correlation between 2004 and 1974: 0.01\n", 313 | "Spearman correlation between 2004 and 1984: -0.20\n", 314 | "Spearman correlation between 2004 and 1994: -0.12\n", 315 | "Spearman correlation between 2004 and 2014: 0.14\n", 316 | "Spearman correlation between 2004 and 2024: -0.43\n", 317 | "Spearman correlation between 2014 and 1974: -0.17\n", 318 | "Spearman correlation between 2014 and 1984: 0.07\n", 319 | "Spearman correlation between 2014 and 1994: -0.01\n", 320 | "Spearman correlation between 2014 and 2004: 0.14\n", 321 | "Spearman correlation between 2014 and 2024: -0.15\n", 322 | "Spearman correlation between 2024 and 1974: 0.09\n", 323 | "Spearman correlation between 2024 and 1984: 0.25\n", 324 | "Spearman correlation between 2024 and 1994: 0.03\n", 325 | "Spearman correlation between 2024 and 2004: -0.43\n", 326 | "Spearman correlation between 2024 and 2014: -0.15\n", 327 | "\n", 328 | "Time Series Analysis (ADF Test):\n", 329 | "ADF Statistic for 1974: -5.67, p-value: 0.00\n", 330 | "ADF Statistic for 1984: -5.11, p-value: 0.00\n", 331 | "ADF Statistic for 1994: -5.48, p-value: 0.00\n", 332 | "ADF Statistic for 2004: -6.10, p-value: 0.00\n", 333 | "ADF Statistic for 2014: -0.48, p-value: 0.90\n", 334 | "ADF Statistic for 2024: -4.29, p-value: 0.00\n", 335 | "\n", 336 | "Hypothesis Testing (t-test between 1974 and 2024):\n", 337 | "T-statistic: 0.74, p-value: 0.46\n" 338 | ] 339 | }, 340 | { 341 | "output_type": "display_data", 342 | "data": { 343 | "text/plain": [ 344 | "
" 345 | ], 346 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0cAAAIQCAYAAABKRhV4AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABp60lEQVR4nO3dfVxUdf7//yczCogKKMpVKjFueUGiZqWURZYrmVtZlumqqbnWJ9AsrTXJUMlwte06xM3vpoa6tVZWWnld425OZqY7YmYWpJUOJgp4kYAz5/eHP0ZHMNGAweFxv93mVpz3e855HeY4zHPe57yPn2EYhgAAAACgnjN5uwAAAAAAqAsIRwAAAAAgwhEAAAAASCIcAQAAAIAkwhEAAAAASCIcAQAAAIAkwhEAAAAASCIcAQAAAIAkwhEAAAAASCIcAYAkyc/PT1OnTvV2GR42bdqka6+9Vo0bN5afn5+2bt3q7ZKq7NNPP5Wfn58+/fTT3+w3depU+fn56cCBA7VTGAAAv4FwBKBGzZ8/X35+fh6P8PBw9erVSx9//LG3y/vdvv76a02dOlU//PBDta63rKxM99xzjw4ePKgXXnhB2dnZiomJOWv/H374QSNHjlTbtm0VGBioyMhI3XDDDZoyZUq11uXrBg4cKD8/P02cONHbpVSL2bNny8/PT927d/d2KdUuLy9PQUFBGjx4cKXtb731lvz8/JSZmVnLlQG4mBGOANSK9PR0ZWdn64033tBf//pX/fLLL7r11lu1fPlyb5f2u3z99deaNm1atYej77//Xrt379Zjjz2mBx54QEOHDlWzZs0q7fvdd9+pa9euWrlypQYPHqxXX31VKSkpCgsL08yZM6u1Ll9WXFysZcuW6dJLL9W//vUvGYbh7ZJ+t0WLFunSSy/VF198oe+++87b5VSr2NhYTZkyRW+++aZWrVrl0VZcXKxHH31U3bt310MPPeSlCgFcjBp4uwAA9UPfvn111VVXuX8eNWqUIiIi9K9//Ut/+tOfvFhZ3bR//35JUmho6Dn7vvDCCzpy5Ii2bt1aYXSpfD31mWEYOn78uBo1avSb/d555x05nU69/vrruummm7R+/XolJiaec/1Hjx5V48aNq6vcapOXl6cNGzbo3Xff1YMPPqhFixZV20ji8ePH5e/vL5PJu9+xTpgwQYsWLVJycrK2bdvmfo2ffPJJ/fLLL1qxYkWt1FhXjwEA54+RIwBeERoaqkaNGqlBA8/vaI4ePaoJEyaodevWCggIULt27fT3v//d/S3+r7/+qvbt26t9+/b69ddf3c87ePCgoqKidO2118rpdEqSRowYoSZNmig3N1dJSUlq3LixoqOjlZ6eXqVRgS1btqhv374KDg5WkyZNdPPNN+vzzz93t8+fP1/33HOPJKlXr17u0wbPdZ3NunXrdP3116tx48YKDQ3VHXfcoR07drjbR4wY4f5Qfs8998jPz0833njjWdf3/fffq1WrVpWedhceHu7x8/vvv69+/fopOjpaAQEBatu2rZ5++mn376zcjTfeqCuuuEJff/21evXqpaCgIF1yySWaNWtWhW389NNP6t+/vxo3bqzw8HA9+uijKikp+c3fwZkOHDiggQMHKjg4WGFhYRo3bpyOHz/u0WfevHm66aabFB4eroCAAHXs2FFZWVkV1nXppZfqT3/6k1auXKmrrrpKjRo10j/+8Y9z1rBo0SL98Y9/VK9evdShQwctWrSoQp/y00StVquSk5MVHh6uVq1auds//vhj92vbtGlT9evXT9u3b/dYh91u14gRI2SxWNynQN5///0qKCjw6Hf48GE98sgjuvTSSxUQEKDw8HD98Y9/1FdffXXOfSnfn2bNmqlfv366++67K90fSSosLNSjjz7q3k6rVq103333ua8DK79+7M0339TkyZN1ySWXKCgoSMXFxZKkJUuWqFu3bmrUqJFatGihoUOH6ueff/bYhsPh0MiRI9WqVSsFBAQoKipKd9xxh8eI65dffqmkpCS1aNFCjRo1UmxsrO6///7f3McGDRrotddeU15enqZPny5J2rx5s2bPnq0JEyYoPj5ekrRw4UJ3jc2bN9egQYP0448/eqzrP//5j+655x61adNGAQEBat26tR599FGP9xnp1PvK999/r1tvvVVNmzbVkCFDJEm7du3SgAEDFBkZqcDAQLVq1UqDBg1SUVHRb+4HgLqDkSMAtaKoqEgHDhyQYRjav3+/XnnlFR05ckRDhw519zEMQ7fffrs++eQTjRo1Sl26dNHKlSv1+OOP6+eff9YLL7ygRo0aacGCBbruuuv05JNP6vnnn5ckpaSkqKioSPPnz5fZbHav0+l06pZbblGPHj00a9YsrVixQlOmTNGJEyeUnp5+1nq3b9+u66+/XsHBwfrrX/+qhg0b6h//+IduvPFGWa1Wde/eXTfccIMefvhhvfzyy0pNTVWHDh0kyf3fyqxZs0Z9+/aVxWLR1KlT9euvv+qVV17Rddddp6+++kqXXnqpHnzwQV1yySXKyMjQww8/rKuvvloRERFnXWdMTIzWrFmjdevW6aabbvrN12H+/Plq0qSJxo8fryZNmmjdunVKS0tTcXGxnn32WY++hw4d0i233KK77rpLAwcO1Ntvv62JEyeqU6dO6tu3r6STYfXmm2/Wnj179PDDDys6OlrZ2dlat27db9ZxpoEDB+rSSy/VjBkz9Pnnn+vll1/WoUOH9MYbb7j7ZGVlKS4uTrfffrsaNGigZcuWKTk5WS6XSykpKR7r27lzpwYPHqwHH3xQo0ePVrt27X5z+3v37tUnn3yiBQsWSJIGDx6sF154Qa+++qr8/f0r9E9OTlbLli2Vlpamo0ePSpKys7M1fPhwJSUlaebMmTp27JiysrLUs2dPbdmyRZdeeqkkafXq1crNzdXIkSMVGRmp7du367XXXtP27dv1+eefy8/PT5L0f//3f3r77bc1ZswYdezYUQUFBfrvf/+rHTt26Morrzzn73TRokW666675O/vr8GDBysrK0ubNm3S1Vdf7e5z5MgRXX/99dqxY4fuv/9+XXnllTpw4IA++OAD/fTTT2rRooW779NPPy1/f3899thjKikpkb+/v+bPn6+RI0fq6quv1owZM5Sfn6+XXnpJn332mbZs2eIe+RwwYIC2b9+usWPH6tJLL9X+/fu1evVq7dmzx/1znz591LJlSz3xxBMKDQ3VDz/8oHffffec+9mjRw899NBDevbZZzVo0CA9+OCDuvTSS92jZM8884yeeuopDRw4UH/5y1/0yy+/6JVXXtENN9zgUeOSJUt07NgxPfTQQwoLC9MXX3yhV155RT/99JOWLFnisc0TJ04oKSlJPXv21N///ncFBQWptLRUSUlJKikp0dixYxUZGamff/5Zy5cvV2FhoUJCQs65LwDqAAMAatC8efMMSRUeAQEBxvz58z36vvfee4YkY/r06R7L7777bsPPz8/47rvv3MsmTZpkmEwmY/369caSJUsMScaLL77o8bzhw4cbkoyxY8e6l7lcLqNfv36Gv7+/8csvv7iXSzKmTJni/rl///6Gv7+/8f3337uX7d2712jatKlxww03uJeVb/uTTz6p0u+jS5cuRnh4uFFQUOBe9r///c8wmUzGfffd5172ySefGJKMJUuWnHOdOTk5RqNGjQxJRpcuXYxx48YZ7733nnH06NEKfY8dO1Zh2YMPPmgEBQUZx48fdy9LTEw0JBlvvPGGe1lJSYkRGRlpDBgwwL3sxRdfNCQZ//73v93Ljh49avzhD3+o0u9lypQphiTj9ttv91ienJxsSDL+97///WbtSUlJhsVi8VgWExNjSDJWrFjxm9s+3d///nejUaNGRnFxsWEYhvHtt98akoylS5d69Cs/nnv27GmcOHHCvfzw4cNGaGioMXr0aI/+DofDCAkJ8Vhe2X7861//MiQZ69evdy8LCQkxUlJSqrwPp/vyyy8NScbq1asNwzh53Ldq1coYN26cR7+0tDRDkvHuu+9WWIfL5TIM49SxaLFYPGovLS01wsPDjSuuuML49ddf3cuXL19uSDLS0tIMwzCMQ4cOGZKMZ5999qz1Ll261JBkbNq06YL2t6ioyIiOjjaaN2/u8dr/8MMPhtlsNp555hmP/tu2bTMaNGjgsbyy12XGjBmGn5+fsXv3bvey8veVJ554wqPvli1bqvxvFkDdxWl1AGpFZmamVq9erdWrV2vhwoXq1auX/vKXv3h8M/zRRx/JbDbr4Ycf9njuhAkTZBiGx+x2U6dOVVxcnIYPH67k5GQlJiZWeF65MWPGuP/fz89PY8aMUWlpqdasWVNpf6fTqVWrVql///6yWCzu5VFRUfrzn/+s//73v+5Tis7Hvn37tHXrVo0YMULNmzd3L4+Pj9cf//hHffTRR+e9TkmKi4vT1q1bNXToUP3www966aWX1L9/f0VERGju3LkefU+/7ubw4cM6cOCArr/+eh07dkzffPONR98mTZp4jOz5+/vrmmuuUW5urnvZRx99pKioKN19993uZUFBQXrggQfOax/OHPkZO3ase/2V1V4+EpmYmKjc3NwKpy3FxsYqKSmpyttftGiR+vXrp6ZNm0qSLrvsMnXr1u2sp6KNHj3aY4Ry9erVKiws1ODBg3XgwAH3w2w2q3v37vrkk08q3Y/jx4/rwIED6tGjhyR5nDIXGhqqjRs3au/evVXej9P3JyIiQr169ZJ08ri/99579eabb3qcQvnOO++oc+fOuvPOOyuso3wEq9zw4cM9av/yyy+1f/9+JScnKzAw0L28X79+at++vT788EP3/vr7++vTTz/VoUOHKq23fPRm+fLlKisrO+/9DQ4O1osvvqiDBw/q3nvvdb/27777rlwulwYOHOjxukRGRuqyyy476+ty9OhRHThwQNdee60Mw9CWLVsqbPPMiR7KR4ZWrlypY8eOnfc+AKgbCEcAasU111yj3r17q3fv3hoyZIg+/PBDdezY0R1UJGn37t2Kjo52f0AtV36a2u7du93L/P399frrrysvL0+HDx/WvHnzKnyYkySTyeQRcCTp8ssvl6SzzjD3yy+/6NixY5WeitWhQwe5XK4K1ytURXn9Z1vvgQMH3Kdona/LL79c2dnZOnDggOx2uzIyMtSgQQM98MADHiFw+/btuvPOOxUSEqLg4GC1bNnSHYDODBitWrWq8Dtt1qyZxwfc3bt36w9/+EOFfuc6je1Ml112mcfPbdu2lclk8niNPvvsM/Xu3dt9rVbLli2Vmppaae2xsbFV3vaOHTu0ZcsWXXfddfruu+/cjxtvvFHLly+vNAifuf5du3ZJkm666Sa1bNnS47Fq1SqPiTEOHjyocePGKSIiQo0aNVLLli3d6zt9P2bNmqWcnBy1bt1a11xzjaZOneoRTM/G6XTqzTffVK9evZSXl+fen+7duys/P19r16519/3+++91xRVXVOn3dOY+/9bx3L59e3d7QECAZs6cqY8//lgRERG64YYbNGvWLDkcDnf/xMREDRgwQNOmTVOLFi10xx13aN68eed17Vr56YKnT/yya9cuGYahyy67rMLrsmPHDo/XZc+ePe4vLpo0aaKWLVu6r/078/hq0KCBx7Vm5b+f8ePH6//9v/+nFi1aKCkpSZmZmVxvBFxkuOYIgFeYTCb16tVLL730knbt2qW4uLjzXsfKlSslnfz2fdeuXef1gdhXmc1mderUSZ06dVJCQoJ69eqlRYsWqXfv3iosLFRiYqKCg4OVnp7uvifSV199pYkTJ8rlclVYV2WMWpji+syw9f333+vmm29W+/bt9fzzz6t169by9/fXRx99pBdeeKFC7eeame50CxculCQ9+uijevTRRyu0v/POOxo5cuRvrr98+9nZ2YqMjKywjtMnHhk4cKA2bNigxx9/XF26dFGTJk3kcrl0yy23eOzHwIEDdf3112vp0qVatWqVnn32Wc2cOVPvvvuu+5qvyqxb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AAAAgLcUFxerdevW7oxwNj4bjspPpQsODiYcAQAAADjn5TZMyAAAAAAAIhwBAAAAgCTCEQAAAABIIhwBAAAAgCTCEQAAAABIuoBwtH79et12222Kjo6Wn5+f3nvvvQp9duzYodtvv10hISFq3Lixrr76au3Zs8fdfvz4caWkpCgsLExNmjTRgAEDlJ+f77GOPXv2qF+/fgoKClJ4eLgef/xxnThx4vz3EAAAAACq4LzD0dGjR9W5c2dlZmZW2v7999+rZ8+eat++vT799FPZ7XY99dRTCgwMdPd59NFHtWzZMi1ZskRWq1V79+7VXXfd5W53Op3q16+fSktLtWHDBi1YsEDz589XWlraBewiAAAAAJybn2EYxgU/2c9PS5cuVf/+/d3LBg0apIYNGyo7O7vS5xQVFally5ZavHix7r77bknSN998ow4dOshms6lHjx76+OOP9ac//Ul79+5VRESEJGnOnDmaOHGifvnlF/n7+5+ztuLiYoWEhKioqIj7HAEAAAD1WFWzQbVec+RyufThhx/q8ssvV1JSksLDw9W9e3ePU+82b96ssrIy9e7d272sffv2atOmjWw2myTJZrOpU6dO7mAkSUlJSSouLtb27durs2QAAAAAkFTN4Wj//v06cuSI/va3v+mWW27RqlWrdOedd+quu+6S1WqVJDkcDvn7+ys0NNTjuREREXI4HO4+pwej8vbytsqUlJSouLjY4wEAAAAAVdWgOlfmcrkkSXfccYceffRRSVKXLl20YcMGzZkzR4mJidW5OQ8zZszQtGnTamz9AAAAAHxbtY4ctWjRQg0aNFDHjh09lnfo0ME9W11kZKRKS0tVWFjo0Sc/P1+RkZHuPmfOXlf+c3mfM02aNElFRUXux48//lgduwQAAACgnqjWcOTv76+rr75aO3fu9Fj+7bffKiYmRpLUrVs3NWzYUGvXrnW379y5U3v27FFCQoIkKSEhQdu2bdP+/fvdfVavXq3g4OAKwatcQECAgoODPR4AAAAAUFXnfVrdkSNH9N1337l/zsvL09atW9W8eXO1adNGjz/+uO69917dcMMN6tWrl1asWKFly5bp008/lSSFhIRo1KhRGj9+vJo3b67g4GCNHTtWCQkJ6tGjhySpT58+6tixo4YNG6ZZs2bJ4XBo8uTJSklJUUBAQPXsOQAAPs7pdMput6ugoEBh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x4HZbHYfB/fdd1/N7RDO2+99L/jll1/c1xRGREQYs2bNMgyDY+BikZKSYrRq1crIzc31WH6260XbtGljPP/884ZhGMZTTz1V4bqB3NxcQ5Lx1VdfGYcOHXK/5uUPPz8/97K1a9fW5K6hin7PMXC6s11HEhIS4nEMnP654J///Gd17gouUHUcA9u3bzfCw8ON1NRUj+W8DxhG/Rsr80EhISGSTg6Dfvnll3r66acr9PnnP/+p22+/XS1btvRY/s477+jXX391/7xp0ybdf//9+s9//qO2bdvWbOGoVmc7Do4dOyZJFUYUzWaze6ayl19+WdOnT3e37d27V0lJSXrrrbfUvXv32igf1aAq7wUtWrSQdPKagv379+v222+XxDFQ1xmGobFjx2rp0qX69NNPFRsb69HerVs3NWzYUGvXrtWAAQMkSTt37tSePXuUkJAgSUpISNAzzzyj/fv3Kzw8XJK0evVqBQcHq2PHjmrYsKF7NLnc7NmztW7dOr399tsVtonaVR3HQFXYbDY5nU73z++//75mzpypDRs26JJLLqmencEFqa5jYPv27brppps0fPhwPfPMMx7rCA4OrvfvA4SjOuzIkSP67rvv3D/n5eVp69atat68udq0aaMlS5aoZcuWatOmjbZt26Zx48apf//+7qHRct99953Wr1+vjz76qMI2zgxABw4ckCR16NCB+xrUEb/3OGjfvr3+8Ic/6MEHH9Tf//53hYWF6b333tPq1au1fPlySapwvVmTJk0knTw+WrVqVUt7irOpjveCefPmqUOHDmrZsqVsNpvGjRunRx99VO3atZPEMVDXpaSkaPHixXr//ffVtGlT9/UDISEhatSokUJCQjRq1CiNHz9ezZs3V3BwsMaOHauEhAT16NFDktSnTx917NhRw4YN06xZs+RwODR58mSlpKS4J+sov3ahXHh4uAIDAyssR+2rjmNAOvmZ4MiRI3I4HPr111/d9zLr2LGj/P391aFDB4/tfvnllzKZTBwDdUB1HAM5OTm66aablJSUpPHjx7vXYTab1bJly0pf63r3PuDlkSv8hk8++cSQVOExfPhwwzAM46WXXjJatWplNGzY0GjTpo0xefLkCtOxGoZhTJo0yWjdurXhdDqrvE2m8q47quM4+Pbbb4277rrLCA8PN4KCgoz4+PgKU3ufLi8vj2mc65DqOAYmTpxoREREGA0bNjQuu+wy47nnnjNcLtdZt8kxULdU9vpLMubNm+fu8+uvvxrJyclGs2bNjKCgIOPOO+809u3b57GeH374wejbt6/RqFEjo0WLFsaECROMsrKys263vk3hW5dV1zGQmJhY6Xry8vIq3S5Tedcd1XEMTJkypdJ1xMTEnHW79e19wM8wDKMmQhcAAAAAXEyYrQ4AAAAARDgCAAAAAEmEIwAAAACQRDgCAAAAAEmEIwAAAACQRDgCAAAAAEmEIwAAAACQRDgCAAAAAEmEIwAAAACQRDgCAAAAAEmEIwAAAACQRDgCAAAAAEnS/wfUsJpvRZPiWAAAAABJRU5ErkJggg==\n" 347 | }, 348 | "metadata": {} 349 | }, 350 | { 351 | "output_type": "display_data", 352 | "data": { 353 | "text/plain": [ 354 | "
" 355 | ], 356 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAvUAAAIQCAYAAAABy5G8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACbiElEQVR4nOzdd3hT5dsH8G+SNknTNt2b0lIKlFJmESh7T9kiAsoUReF1VEHqAHFVhB+iKCAoiANUFBRkKXuVWZBdKAUKdNC9mzTJef+opIYmpYGEkvL9XNe5LnPOc07uk0h65859niMSBEEAERERERHZLHFNB0BERERERPeHST0RERERkY1jUk9EREREZOOY1BMRERER2Tgm9URERERENo5JPRERERGRjWNST0RERERk45jUExERERHZOCb1REREREQ2jkk9Edmkb7/9FiKRCFevXrXYMa9evQqRSIRvv/3WYsckIiJ6EJjUE5He5cuX8fzzzyMkJARyuRxKpRIdOnTAZ599hpKSkpoOz2JWr16NhQsX1nQYBsaPHw8nJyeT20UiEaZNm2bVGBYvXswvNERENsqupgMgoofDpk2bMGLECMhkMowdOxYRERFQq9XYv38/pk+fjrNnz2LZsmU1HaZFrF69GmfOnMErr7xisD4oKAglJSWwt7evmcBq2OLFi+Hp6Ynx48fXdChERGQmJvVEhCtXruCpp55CUFAQdu7cCT8/P/22qVOnIjExEZs2bbrv5xEEAaWlpXBwcKi0rbS0FFKpFGJxzf2AKBKJIJfLa+z5iYiI7hXbb4gIn3zyCQoLC/HNN98YJPS3hYaG4uWXX9Y/1mg0eP/991G/fn3IZDIEBwfjzTffhEqlMtgvODgYjz/+OLZt24bWrVvDwcEBX331FXbv3g2RSISffvoJb7/9NgICAqBQKJCfnw8AOHz4MPr27QsXFxcoFAp06dIFBw4cuOt5/PHHHxgwYAD8/f0hk8lQv359vP/++9BqtfoxXbt2xaZNm3Dt2jWIRCKIRCIEBwcDMN1Tv3PnTnTq1AmOjo5wdXXF4MGDcf78eYMx7777LkQiERITEzF+/Hi4urrCxcUFEyZMQHFx8V1jvxcqlQqzZ89GaGgoZDIZAgMDMWPGjErvw8qVK9G9e3d4e3tDJpMhPDwcS5YsMRgTHByMs2fPYs+ePfrXpWvXrgAqrl/Yv38/XnrpJXh5ecHV1RXPP/881Go1cnNzMXbsWLi5ucHNzQ0zZsyAIAgGx58/fz7at28PDw8PODg4IDIyEr/++mulc7rdZvTjjz+iUaNGkMvliIyMxN69ey374hER1TKs1BMRNm7ciJCQELRv375a45999lmsWrUKTzzxBF577TUcPnwYsbGxOH/+PNavX28wNiEhAaNGjcLzzz+PyZMno1GjRvpt77//PqRSKV5//XWoVCpIpVLs3LkT/fr1Q2RkJGbPng2xWKxPSvft24c2bdqYjOvbb7+Fk5MToqOj4eTkhJ07d2LWrFnIz8/HvHnzAABvvfUW8vLycOPGDXz66acAUGUv+/bt29GvXz+EhITg3XffRUlJCRYtWoQOHTogPj5e/4XgtieffBL16tVDbGws4uPj8fXXX8Pb2xtz586t1mubmZlZrXE6nQ6DBg3C/v378dxzz6Fx48Y4ffo0Pv30U1y8eBG///67fuySJUvQpEkTDBo0CHZ2dti4cSNefPFF6HQ6TJ06FQCwcOFC/N///R+cnJzw1ltvAQB8fHwMnvP//u//4Ovrizlz5uDQoUNYtmwZXF1dcfDgQdStWxcfffQRNm/ejHnz5iEiIgJjx47V7/vZZ59h0KBBGDNmDNRqNX766SeMGDECf/75JwYMGGDwPHv27MHPP/+Ml156CTKZDIsXL0bfvn1x5MgRREREVOv1ISJ65AhE9EjLy8sTAAiDBw+u1viTJ08KAIRnn33WYP3rr78uABB27typXxcUFCQAELZu3WowdteuXQIAISQkRCguLtav1+l0QoMGDYQ+ffoIOp1Ov764uFioV6+e0KtXL/26lStXCgCEK1euGIy70/PPPy8oFAqhtLRUv27AgAFCUFBQpbFXrlwRAAgrV67Ur2vRooXg7e0tZGVl6df9888/glgsFsaOHatfN3v2bAGAMHHiRINjDh06VPDw8Kj0XHcaN26cAKDKZerUqfrx33//vSAWi4V9+/YZHGfp0qUCAOHAgQNVvi59+vQRQkJCDNY1adJE6NKlS6Wxt1/rO9+XqKgoQSQSCVOmTNGv02g0Qp06dSod584Y1Gq1EBERIXTv3t1g/e1zPXbsmH7dtWvXBLlcLgwdOrRSbEREVI7tN0SPuNstL87OztUav3nzZgBAdHS0wfrXXnsNACr13terVw99+vQxeqxx48YZ9NefPHkSly5dwujRo5GVlYXMzExkZmaiqKgIPXr0wN69e6HT6UzG9t9jFRQUIDMzE506dUJxcTEuXLhQrfP7r9TUVJw8eRLjx4+Hu7u7fn2zZs3Qq1cv/WvxX1OmTDF43KlTJ2RlZelf56rI5XL8/fffRpc7rV27Fo0bN0ZYWJj+dcrMzET37t0BALt27dKP/e/rkpeXh8zMTHTp0gVJSUnIy8u7+wvxr0mTJkEkEukft23bFoIgYNKkSfp1EokErVu3RlJSksG+/40hJycHeXl56NSpE+Lj4ys9T1RUFCIjI/WP69ati8GDB2Pbtm0GrVRERFSB7TdEjzilUgmgPAmujmvXrkEsFiM0NNRgva+vL1xdXXHt2jWD9fXq1TN5rDu3Xbp0CUB5sm9KXl4e3NzcjG47e/Ys3n77bezcubNSEm1O8nrb7XP5b8vQbY0bN8a2bdtQVFQER0dH/fq6desajLsda05Ojv61NkUikaBnz57Viu3SpUs4f/48vLy8jG6/deuW/r8PHDiA2bNnIy4urlJ/f15eHlxcXKr1nHee2+39AgMDK63PyckxWPfnn3/igw8+wMmTJw16/v/7JeG2Bg0aVFrXsGFDFBcXIyMjA76+vtWKl4joUcKknugRp1Qq4e/vjzNnzpi1n7FkzBhjM92Y2na7Cj9v3jy0aNHC6D6m+t9zc3PRpUsXKJVKvPfee6hfvz7kcjni4+PxxhtvVFnhtySJRGJ0vXDHhaP3S6fToWnTpliwYIHR7bcT7cuXL6NHjx4ICwvDggULEBgYCKlUis2bN+PTTz8163UxdW7G1v/3fPft24dBgwahc+fOWLx4Mfz8/GBvb4+VK1di9erV1X5+IiIyjUk9EeHxxx/HsmXLEBcXh6ioqCrHBgUFQafT4dKlS2jcuLF+fXp6OnJzcxEUFHTPcdSvXx9A+ReN6lasb9u9ezeysrKwbt06dO7cWb/+ypUrlcZW9wvJ7XNJSEiotO3ChQvw9PQ0qNI/SPXr18c///yDHj16VHk+GzduhEqlwoYNGwwq7f9tz7mtuq+LuX777TfI5XJs27YNMplMv37lypVGx9/+xea/Ll68CIVCYfKXCSKiRx176okIM2bMgKOjI5599lmkp6dX2n758mV89tlnAID+/fsDQKU7st6uGN85k4k5IiMjUb9+fcyfPx+FhYWVtmdkZJjc93a1+L8VYrVajcWLF1ca6+joWK12HD8/P7Ro0QKrVq1Cbm6ufv2ZM2fw119/6V+LmvDkk0/i5s2bWL58eaVtJSUlKCoqAmD8dcnLyzOaUDs6Ohqcp6VIJBKIRCKDfvirV68azNDzX3FxcQa99tevX8cff/yB3r17m/y1gIjoUcdKPRGhfv36WL16NUaOHInGjRsb3FH24MGDWLt2rf4uo82bN8e4ceOwbNkyfcvLkSNHsGrVKgwZMgTdunW75zjEYjG+/vpr9OvXD02aNMGECRMQEBCAmzdvYteuXVAqldi4caPRfdu3bw83NzeMGzcOL730EkQiEb7//nujbS+RkZH4+eefER0djcceewxOTk4YOHCg0ePOmzcP/fr1Q1RUFCZNmqSf0tLFxQXvvvvuPZ/r/XrmmWfwyy+/YMqUKdi1axc6dOgArVaLCxcu4JdfftHfG6B3796QSqUYOHAgnn/+eRQWFmL58uXw9vZGamqqwTEjIyOxZMkSfPDBBwgNDYW3t7f+wtv7MWDAACxYsAB9+/bF6NGjcevWLXz55ZcIDQ3FqVOnKo2PiIhAnz59DKa0BIA5c+bcdyxERLVWTU69Q0QPl4sXLwqTJ08WgoODBalUKjg7OwsdOnQQFi1aZDAlZFlZmTBnzhyhXr16gr29vRAYGCjExMQYjBGE8iktBwwYUOl5bk9puXbtWqNxnDhxQhg2bJjg4eEhyGQyISgoSHjyySeFHTt26McYm9LywIEDQrt27QQHBwfB399fmDFjhrBt2zYBgLBr1y79uMLCQmH06NGCq6urAEA/vaWxKS0FQRC2b98udOjQQXBwcBCUSqUwcOBA4dy5cwZjbk9pmZGRYbDeWJzGjBs3TnB0dDS5HXdMaSkI5dNCzp07V2jSpIkgk8kENzc3ITIyUpgzZ46Ql5enH7dhwwahWbNmglwuF4KDg4W5c+cKK1asqBRXWlqaMGDAAMHZ2VkAoJ+W8vY5HD16tFrnbOxcvvnmG6FBgwaCTCYTwsLChJUrV+r3N3aeP/zwg358y5YtDd4/IiKqTCQIFr56i4iI6B6JRCJMnToVX3zxRU2HQkRkU9hTT0RERERk45jUExERERHZOCb1REREREQ2jkk9ERE9NARBYD89Edm0vXv3YuDAgfD394dIJDI5fe9/7d69G61atYJMJkNoaCi+/fZbs5+XST0RERERkYUUFRWhefPm+PLLL6s1/sqVKxgwYAC6deuGkydP4pVXXsGzzz6Lbdu2mfW8nP2GiIiIiMgKRCIR1q9fjyFDhpgc88Ybb2DTpk04c+aMft1TTz2F3NxcbN26tdrPxUo9EREREVEVVCoV8vPzDRaVSmWRY8fFxaFnz54G6/r06YO4uDizjvPQ3FF2k32jmg6BTHA7daymQyATDp53rOkQqAo6/g760NqxofKdbOnh0L5Xk5oOgaow+2n7mg7BKGvnkUffGlXprtazZ8+2yJ3F09LS4OPjY7DOx8cH+fn5KCkpgYODQ7WO89Ak9URERERED6OYmBhER0cbrJPJZDUUjXFM6omIiIjIponsRVY9vkwms1oS7+vri/T0dIN16enpUCqV1a7SA+ypJyIiIiKqMVFRUdixY4fBur///htRUVFmHYeVeiIiIiKyaWI761bqzVFYWIjExET94ytXruDkyZNwd3dH3bp1ERMTg5s3b+K7774DAEyZMgVffPEFZsyYgYkTJ2Lnzp345ZdfsGnTJrOel5V6IiIiIiILOXbsGFq2bImWLVsCAKKjo9GyZUvMmjULAJCamork5GT9+Hr16mHTpk34+++/0bx5c/zvf//D119/jT59+pj1vKzUExEREZFNE9k/PHXqrl27oqrbQBm7W2zXrl1x4sSJ+3peJvVEREREZNMepvabmvLwfK0hIiIiIqJ7wko9EREREdk0a09paQtYqSciIiIisnGs1BMRERGRTWNPPSv1REREREQ2j5V6IiIiIrJp7KlnpZ6IiIiIyOaxUk9ERERENo099azUExERERHZPFbqiYiIiMimiSSs1DOpJyIiIiKbJmZSz/YbIiIiIiJbx0o9EREREdk0kZiVelbqiYiIiIhsHCv1RERERGTTRBLWqfkKEBERERHZOIsl9XPmzEFmZqalDkdEREREVC1iiciqiy0wu/0mPz+/0jpBEPDhhx+iX79+kEqlAAClUnn/0RERERER0V2ZndS7ubkZXS8IAqKioiAIAkQiEbRa7X0HR0RERER0N5z95h6Sej8/P7Ro0QKvvfYaxOLy7h1BENCzZ098/fXXqFevnsWDJCIiIiIyxVZaZKzJ7KT+1KlTmDRpEt5//318//33CAgIAACIRCK0adMG4eHhFg+SiIiIiIhMM/tCWXd3d6xfvx4jRoxAmzZtsGbN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evTocU+BHDz/cFbqCchpxi8aD6stc4/cfRDVmEv/XKnpEMiEpye1qOkQyIRi4/ebo4fE871rOgLjildY9+67iokP/80rza7UJyYmomfPnigpKYFMJsONGzfQv39/HD16FEuWLMGwYcOwevXqu7bgEBERERFZBNtvzL9Q9qWXXkLfvn2RlpaG5ORkxMbGQqfT4dChQzh//jyOHj2KDz74wBqxEhERERGREWYn9Xv27MFrr72mv9PZq6++iu3btyMrKwsNGjTAwoULsWrVKosHSkRERERklEhk3cUGmJ3Uu7q6oqCgov+9uLgYGo0GUmn5tBPNmjVDaipnEyEiIiIielDMTup79eqF6OhoXLhwAVeuXMGUKVPQokULODuXzz6RnJwMb29viwdKRERERGSMSCy26mILzL6a9ZNPPsHgwYMRHh4OkUiEwMBArF+/Xr89IyMD06dPt2iQRERERERkmtlJvbe3N+Li4nDp0iWoVKpKN5t64oknLBogEREREVGVRLZRTbeme34FGjRogIiIiEpTV16/fh0TJ06878CIiIiIiKpFLLLuYgMs/rUmOzubs98QERERET1AZrffbNiwocrtSUlJ9xwMEREREZG5RGy/MT+pHzJkCEQiEQRBMDlGZCPzeRIRERER1QZmf63x8/PDunXroNPpjC7x8fHWiJOIiIiIyDj21Juf1EdGRuL48eMmt9+tik9ERERERJZldvvN9OnTUVRUZHJ7aGgodu3adV9BERERERFVG3vqzU/qO3XqVOV2R0dHdOnS5Z4DIiIiIiIi85id1BMRERERPVQ4SQuTeiIiIiKycWK23/AVICIiIiKycazUExEREZFt44WyrNQTEREREdk6VuqJiIiIyLbZyA2irImVeiIiIiIiG8dKPRERERHZNvbUs1JPRERERGTrWKknIiIiItvGm08xqSciIiIiG8ebT7H9hoiIiIjI1rFST0RERES2je03rNQTEREREdk6VuqJiIiIyLZxSktW6omIiIiIbB0r9URERERk2zj7DSv1RERERES27qGp1B8871jTIZAJV+ceqekQyIR+b7Sp6RCoCsVv76vpEMiErVtu1nQIZMK1M4k1HQJV4fneXWo6BOMestlvvvzyS8ybNw9paWlo3rw5Fi1ahDZtTP/Nzs3NxVtvvYV169YhOzsbQUFBWLhwIfr371/t53xo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p7qzV56IiIiIyJrYfmPmzadGjhyJcePGYf369QbJfX5+PtavX48JEyZg1KhRFg+SiIiIiIhMM6tSv2DBAuh0Ojz11FPQaDSQSsuvkler1bCzs8OkSZMwf/58qwRKRERERGQMp7S8h/abJUuWYO7cuTh+/LjBlJaRkZFQKpVWCZKIiIiIiEy7p3nqlUolunXrZulYiIiIiIjMVv25HGsvs3rqAaCkpAT79+/HuXPnKm0rLS3Fd999Z5HAiIiIiIioesxK6i9evIjGjRujc+fOaNq0Kbp06YKUlBT99ry8PEyYMMHiQRIRERERmaKDyKqLLTArqX/jjTcQERGBW7duISEhAc7OzujYsSOSk5OtFR8REREREd2FWT31Bw8exPbt2+Hp6QlPT09s3LgRL774Ijp16oRdu3bB0fHhv9sWEREREdUunP3GzEp9SUkJ7OwqvgeIRCIsWbIEAwcORJcuXXDx4kWLB0hEREREVBVBsO5iC8yq1IeFheHYsWNo3LixwfovvvgCADBo0CDLRUZERERERNViVqV+6NChWLNmjdFtX3zxBUaNGgXBVr7OEBEREVGtIEBk1cUWmJXUx8TEYPPmzSa3L168GDqd7r6DIiIiIiKi6runm08RERERET0sdGwUMf/mU0RERERE9HBhpZ6IiIiIbBqntGSlnoiIiIjI5rFST0REREQ2jZMvMqknIiIiIhuns5FpJ62J7TdERERERDaOlXoiIiIismlsv2GlnoiIiIjI5rFST0REREQ2jVNaslJPRERERGTzWKknIiIiIpumY089K/VERERERLaOlXoiIiIismmc/YZJPRERERHZOIE3n2L7DRERERGRrWOlnoiIiIhsGi+UZaWeiIiIiMjmsVJPRERERDaNF8o+REn9jg2najoEMuHpSS1qOgQyYeuWmzUdAlVh5YtbajoEMmHC4n41HQKZoDpwvqZDILJJD01ST0RERER0L1ipZ089EREREZHNY6WeiIiIiGyaTuA89UzqiYiIiMimsf2G7TdERERERBb15ZdfIjg4GHK5HG3btsWRI0dMjl2+fDk6deoENzc3uLm5oWfPnlWON4VJPRERERHZNEGw7mKOn3/+GdHR0Zg9ezbi4+PRvHlz9OnTB7du3TI6fvfu3Rg1ahR27dqFuLg4BAYGonfv3rh507wZ7pjUExERERFZyIIFCzB5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wbx58257vcbGRkRHR2P8+PEW74stskR80tLS4OXlhV27diEzMxN/+MMfEBsbi23btpldj/cOdZqg2wIg9u/fb3yenZ0tAIiMjAxjmU6nE56enuK9995rs57w8HCxZMkSs/J33nlHREREiMTERAFAlJWVWbL5Nq+z8XFychI7d+40qcvd3d0shocOHRLBwcEiMzNTABBnzpzpln7Yos7E5vDhw0IqlYqKigrjOeXl5UIikYgjR46Y1M/YdE1xcbEAIJKTk4UQhtdZLpeLhIQE4znnzp0TAERqaqoQwvCaS6VSUVhYaDxn+/btQq1WC61Wa1L/vHnzxIYNG0RcXJwYPnx493fIhnQmNre602u+du1aMX/+fBEfHy9cXFws3Xyb19X4NFuxYoWYNGmSWTnvHeosjtR3kFarBQA4ODgYy6RSKRQKBY4fP97qz6SlpeHs2bNYunSpSXlWVhZeeeUV7Ny5E1IpQ2EJ7Y3P2LFjsWfPHpSWlkKv12P37t2or6/HxIkTjecUFRVh2bJl+Oijj6BUKnusD7aqPbHRarWQSCQmX9Ti4OAAqVRqEj/GpusqKioAAO7u7gAM71ONjY2YOnWq8Zzg4GD4+/sjNTUVAJCamophw4bB29vbeM60adNQWVmJzMxMY1l8fDzy8vIQFxfXE12xOZ2JTXslJSUhISGh1U/TqH0sFZ+KigpjHc1471BXMJPsoOYbNTY2FmVlZWhoaMDmzZtx7do1FBQUtPozO3bsgEajwdixY41lWq0W0dHReP311+Hv799Tzbd57Y3Pp59+isbGRnh4eEChUGD58uXYv38/AgMDARimiixatAhPP/007r///t7qjk1pT2xGjx4NJycnrFu3DrW1taipqcELL7wAnU5nPIex6Tq9Xo/f//73GDduHEJDQwEY1pnY29ubzbH29vZGYWGh8ZxbE/rm483HAODChQtYv349du3aBTs7u27uie3pbGzao6SkBIsWLcIHH3wAtVptyWbfNSwVn5SUFOzZswdPPfWUsYz3DnUVk/oOksvl2LdvH3JycuDu7g6lUomjR49i+vTprY6219XV4eOPPzYbpY+NjYVGo8H8+fN7qul3hfbG56WXXkJ5eTm++eYbnD59GqtXr8bcuXORnp4OANi6dSuqqqoQGxvbW12xOe2JjaenJxISEnDw4EE4OzvDxcUF5eXlGDFihPEcxqbrYmJikJGRgd27d1u0Xp1OhyeeeAIbN27EfffdZ9G67xbdFRsAWLZsGZ544glMmDDB4nXfLSwRn4yMDDz66KOIi4tDZGQkAN47ZCG9Pf+nr8PP5gXfqry8XBQXFwshhBg1apRYsWKF2Tk7d+4UcrnceF6z4cOHC6lUKmQymZDJZEIqlQoAQiaTiZdfftni/bBVnYlPbm6u2dxuIYSYMmWKWL58uRBCiEcffdQkPjKZzBifBQsWdF+HbEhX750bN24Y15h4e3uL1157TQjB2HRVTEyM8PPzE3l5eSblba3r8ff3F2+88YYQQoiXXnrJbI5vXl6eACC+//57UVZWZoxF80MikRjLEhMTu7NrVq8rsblVW3OxXVxcTGJz6++dHTt2WLIrNskS8cnMzBReXl7ixRdfNCnnvUOWwKT+Dm6XmDTLyckRUqlUHD582OxYRESEmDNnjll5bm6uSE9PNz7ef/99AUCkpKSIoqIiSzXf5nUmPj/++KMAILKyskzOi4yMFMuWLRNCCPHTTz+ZxOfw4cMCgPjss8/E1atXu6Uvtqar906zxMREIZFIxPnz54UQjE1n6fV6ERMTI3x9fUVOTo7Z8ebFfp999pmx7Pz5860ulL31Perdd98VarVa1NfXC51OZxKb9PR08bvf/U4EBQWJ9PR0UV1d3f0dtUKWiM2t2krqs7KyTGLz6quvCpVKJdLT00VpaalF+2RLLBWfjIwM4eXlJdasWWNWB+8dsgRO2mpFdXU1cnNzjc8vXbqEs2fPwt3dHf7+/khISICnpyf8/f2Rnp6OlStXYtasWcaP0Zrl5ubi2LFjOHTokNk1hgwZYvL85s2bAACNRsN9g++gq/EJDg5GYGAgli9fji1btsDDwwMHDhzAkSNH8OWXXwKA2ToHZ2dnAIa4+fn59VBPrY8l7p34+HhoNBp4enoiNTUVK1euxKpVqxAUFASAsemsmJgYfPzxx/j888+hUqmMc31dXFzg6OgIFxcXLF26FKtXr4a7uzvUajWeffZZjBkzBqNHjwYAREZGIiQkBE8++SRee+01FBYWYsOGDYiJiTEubm6eZ9zMy8sLDg4OZuXUwhKxAQy/c6qrq1FYWIi6ujrjdzeEhITA3t4eGo3G5LqnT5+GVCplbO7AEvHJyMjA5MmTMW3aNKxevdpYh0wmg6enZ6tx4L1DHdbbf1X0RUePHhUAzB4LFy4UQgjx5ptvCj8/PyGXy4W/v7/YsGGD2XZuQggRGxsrBgwYIHQ6XbuvyS0t78wS8cnJyRFRUVHCy8tLKJVKERYWZrbF5a0uXbrEbRPbwRKxWbdunfD29hZyuVzce++94i9/+YvQ6/VtXpOxaZ/W4gJAxMfHG8+pq6sTK1asEG5ubkKpVIrZs2eLgoICk3ouX74spk+fLhwdHUW/fv3E888/LxobG9u8LrfluzNLxSYiIqLVei5dutTqdbmlZftYIj5xcXGt1hEQENDmdXnvUEdJhBCiO/5YICIiIiKinsHdb4iIiIiIrByTeiIiIiIiK8eknoiIiIjIyjGpJyIiIiKyckzqiYiIiIisHJN6IiIiIiIrx6SeiIiIiMjKMaknIiIiIrJyTOqJiIiIiKwck3oiIiIiIivHpJ6IiIiIyMoxqSciIiIisnL/D8gitZo7ZWkFAAAAAElFTkSuQmCC\n" 357 | }, 358 | "metadata": {} 359 | } 360 | ] 361 | }, 362 | { 363 | "cell_type": "code", 364 | "source": [ 365 | "import numpy as np\n", 366 | "from scipy import stats\n", 367 | "\n", 368 | "# Data\n", 369 | "data = {\n", 370 | " '1974': [2.22, 24.15, 4.39, 4.39, 2.22, 2.22, 4.39, 382.53, 176.93, 305.48, 147.91, 247.53, 675.89, 20.89, 4.39, 6.71, 137.53, 10.70, 4.39, 673.57, 4.44, 762.03, 2.22, 166.03, 42.14, 564.50, 171.12, 277.08, 7.70, 33.19, 4.39, 226.89, 319.66, 20.28, 2.22, 1169.62],\n", 371 | " '1984': [544.63, 2.07, 240.42, 13.32, 2.07, 2.07, 4.13, 24.73, 414.04, 167.28, 200.50, 161.12, 36.14, 190.99, 51.08, 13.54, 60.98, 225.26, 34.31, 9.75, 2.07, 2.07, 30.84, 152.01, 2.07, 113.25, 159.02, 110.24, 367.64, 163.71, 1.94, 1.94, 9.96, 2.07, 4.13, 773.33],\n", 372 | " '1994': [182.78, 1002.98, 105.90, 117.23, 3.45, 3.45, 27.46, 6.88, 3.45, 155.69, 3.45, 6.80, 566.06, 6.80, 3.45, 15.12, 6.80, 15.23, 3.45, 10.41, 3.45, 3.45, 3.45, 6.80, 3.45, 6.80, 499.95, 3.45, 3.45, 11.94, 3.45, 150.67, 98.30, 3.45, 3.45, 165.64],\n", 373 | " '2004': [2.07, 2.07, 2.07, 2.07, 23.19, 6.32, 3.03, 522.95, 2.07, 18.31, 2.07, 2.07, 15.99, 2.07, 8.13, 2.07, 2.07, 4.13, 28.49, 8.43, 9.96, 4.08, 7.10, 31.06, 2.07, 2.07, 2.07, 2.07, 129.05, 2.07, 2.07, 4.13, 1567.41, 2.07, 2.07, 1.94],\n", 374 | " '2014': [7.10, 223.68, 21.90, 37.77, 13.32, 2.07, 38.48, 81.04, 1387.01, 4.13, 860.63, 41.29, 140.87, 7.10, 2.07, 289.26, 2.07, 102.22, 957.43, 2.07, 108.14, 16.01, 75.11, 2.07, 2.07, 2.07, 4.08, 2.07, 210.04, 128.37, 73.63, 7.10, 11.38, 6.84, 3.03, 1.94],\n", 375 | " '2024': [19.31, 10.51, 4.75, 2.38, 2.38, 2.38, 323.47, 2.38, 708.23, 10.44, 6.96, 3.48, 126.17, 480.25, 483.60, 607.42, 511.54, 76.65, 2.38, 385.03, 2.38, 2.38, 2.38, 2.38, 36.95, 81.84, 2.38, 9.39, 6.98, 2.38, 4.75, 2.38, 2.38, 568.74, 147.39, 405.01]\n", 376 | "}\n", 377 | "\n", 378 | "years = ['1974', '1984', '1994', '2004', '2014', '2024']\n", 379 | "\n", 380 | "results = []\n", 381 | "\n", 382 | "for i in range(len(years) - 1):\n", 383 | " year1, year2 = years[i], years[i + 1]\n", 384 | " diff = np.array(data[year1]) - np.array(data[year2])\n", 385 | " t_stat, p_value = stats.ttest_rel(data[year1], data[year2])\n", 386 | " mean_diff = np.mean(diff)\n", 387 | " results.append([f'{year1} vs. {year2}', mean_diff, t_stat, p_value, 'Reject H0' if p_value < 0.05 else 'Fail to Reject H0'])\n", 388 | "\n", 389 | "# Display results in table format\n", 390 | "import pandas as pd\n", 391 | "\n", 392 | "df = pd.DataFrame(results, columns=['Years Compared', 'Mean Difference', 't-Statistic', 'p-Value', 'Conclusion (α = 0.05)'])\n", 393 | "df\n" 394 | ], 395 | "metadata": { 396 | "colab": { 397 | "base_uri": "https://localhost:8080/", 398 | "height": 206 399 | }, 400 | "id": "Jz1UI0Ue1M4u", 401 | "outputId": "2da0e6c9-c059-4b3f-b61b-c09e678d13dd" 402 | }, 403 | "execution_count": null, 404 | "outputs": [ 405 | { 406 | "output_type": "execute_result", 407 | "data": { 408 | "text/plain": [ 409 | " Years Compared Mean Difference t-Statistic p-Value Conclusion (α = 0.05)\n", 410 | "0 1974 vs. 1984 64.367222 1.413973 0.166204 Fail to Reject H0\n", 411 | "1 1984 vs. 1994 29.909167 0.679333 0.501395 Fail to Reject H0\n", 412 | "2 1994 vs. 2004 21.861944 0.383152 0.703924 Fail to Reject H0\n", 413 | "3 2004 vs. 2014 -67.902778 -0.970097 0.338655 Fail to Reject H0\n", 414 | "4 2014 vs. 2024 -4.842778 -0.088344 0.930107 Fail to Reject H0" 415 | ], 416 | "text/html": [ 417 | "\n", 418 | "
\n", 419 | "
\n", 420 | "\n", 433 | "\n", 434 | " \n", 435 | " \n", 436 | " \n", 437 | " \n", 438 | " \n", 439 | " \n", 440 | " \n", 441 | " \n", 442 | " \n", 443 | " \n", 444 | " \n", 445 | " \n", 446 | " \n", 447 | " \n", 448 | " \n", 449 | " \n", 450 | " \n", 451 | " \n", 452 | " \n", 453 | " \n", 454 | " \n", 455 | " \n", 456 | " \n", 457 | " \n", 458 | " \n", 459 | " \n", 460 | " \n", 461 | " \n", 462 | " \n", 463 | " \n", 464 | " \n", 465 | " \n", 466 | " \n", 467 | " \n", 468 | " \n", 469 | " \n", 470 | " \n", 471 | " \n", 472 | " \n", 473 | " \n", 474 | " \n", 475 | " \n", 476 | " \n", 477 | " \n", 478 | " \n", 479 | " \n", 480 | " \n", 481 | " \n", 482 | " \n", 483 | " \n", 484 | " \n", 485 | " \n", 486 | "
Years ComparedMean Differencet-Statisticp-ValueConclusion (α = 0.05)
01974 vs. 198464.3672221.4139730.166204Fail to Reject H0
11984 vs. 199429.9091670.6793330.501395Fail to Reject H0
21994 vs. 200421.8619440.3831520.703924Fail to Reject H0
32004 vs. 2014-67.902778-0.9700970.338655Fail to Reject H0
42014 vs. 2024-4.842778-0.0883440.930107Fail to Reject H0
\n", 487 | "
\n", 488 | "
\n", 489 | "\n", 490 | "
\n", 491 | " \n", 499 | "\n", 500 | " \n", 540 | "\n", 541 | " \n", 565 | "
\n", 566 | "\n", 567 | "\n", 568 | "
\n", 569 | " \n", 580 | "\n", 581 | "\n", 670 | "\n", 671 | " \n", 693 | "
\n", 694 | "\n", 695 | "
\n", 696 | " \n", 727 | " \n", 736 | " \n", 748 | "
\n", 749 | "\n", 750 | "
\n", 751 | "
\n" 752 | ], 753 | "application/vnd.google.colaboratory.intrinsic+json": { 754 | "type": "dataframe", 755 | "variable_name": "df", 756 | "summary": "{\n \"name\": \"df\",\n \"rows\": 5,\n \"fields\": [\n {\n \"column\": \"Years Compared\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 5,\n \"samples\": [\n \"1984 vs. 1994\",\n \"2014 vs. 2024\",\n \"1994 vs. 2004\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Mean Difference\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 49.42998901497007,\n \"min\": -67.90277777777777,\n \"max\": 64.36722222222221,\n \"num_unique_values\": 5,\n \"samples\": [\n 29.909166666666675,\n -4.842777777777776,\n 21.861944444444436\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"t-Statistic\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.888025498610523,\n \"min\": -0.9700972212305914,\n \"max\": 1.4139729763327047,\n \"num_unique_values\": 5,\n \"samples\": [\n 0.6793330612996832,\n -0.0883436363468518,\n 0.38315215829350224\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"p-Value\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.30003978240684576,\n \"min\": 0.16620376610749746,\n \"max\": 0.9301071186488655,\n \"num_unique_values\": 5,\n \"samples\": [\n 0.5013950995687848,\n 0.9301071186488655,\n 0.7039243166505661\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Conclusion (\\u03b1 = 0.05)\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"Fail to Reject H0\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" 757 | } 758 | }, 759 | "metadata": {}, 760 | "execution_count": 6 761 | } 762 | ] 763 | }, 764 | { 765 | "cell_type": "code", 766 | "source": [ 767 | "import scipy.stats as stats\n", 768 | "\n", 769 | "# Data for the Mean column across years\n", 770 | "data_1974 = [183.66] # Add other data points similarly\n", 771 | "data_1984 = [119.30]\n", 772 | "data_1994 = [89.39]\n", 773 | "data_2004 = [67.53]\n", 774 | "data_2014 = [135.43]\n", 775 | "data_2024 = [140.27]\n", 776 | "\n", 777 | "# Perform one-way ANOVA\n", 778 | "statistic, p_value = stats.f_oneway(data_1974, data_1984, data_1994, data_2004, data_2014, data_2024)\n", 779 | "\n", 780 | "print(f\"F-statistic: {statistic:.4f}\")\n", 781 | "print(f\"P-value: {p_value:.4f}\")\n" 782 | ], 783 | "metadata": { 784 | "id": "LEaMfa8j53EI", 785 | "outputId": "fcc80356-30e2-4ce5-ee8f-c7011cf5e058", 786 | "colab": { 787 | "base_uri": "https://localhost:8080/" 788 | } 789 | }, 790 | "execution_count": null, 791 | "outputs": [ 792 | { 793 | "output_type": "stream", 794 | "name": "stdout", 795 | "text": [ 796 | "F-statistic: nan\n", 797 | "P-value: nan\n" 798 | ] 799 | }, 800 | { 801 | "output_type": "stream", 802 | "name": "stderr", 803 | "text": [ 804 | "/usr/local/lib/python3.10/dist-packages/scipy/stats/_stats_py.py:4141: DegenerateDataWarning: all input arrays have length 1. f_oneway requires that at least one input has length greater than 1.\n", 805 | " warnings.warn(stats.DegenerateDataWarning(msg))\n" 806 | ] 807 | } 808 | ] 809 | } 810 | ] 811 | } --------------------------------------------------------------------------------