{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Bootstrap Resampling demo\n", "\n", "This Jupyter notebook runs the StatGeochem package, which includes (among other things) a version of the weighted bootstrap resampling code described in Keller & Schoene 2012 and 2018 implemented in the Julia language.\n", "\n", "\"Launch \n", "

If running this notebook as an online Binder notebook and the webpage times out, click the badge at left to relaunch (refreshing will not work). Note that any changes will be lost!

\n", "\n", "Hint: `shift`-`enter` to run a single cell, or from the `Cell` menu select `Run All` to run the whole file. Any code from this notebook can be copied and pasted into the Julia REPL or a `.jl` script.\n", "***\n", "### Load required Julia packages" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "## --- Load the StatGeochem package which has the resampling functions we'll want\n", "using StatGeochem\n", "using Plots" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## A super-quick example (Try pasting in your own data here!)\n", "\n", "#### Input dataset" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "## --- Input dataset\n", "\n", "# We'll store the data in a data structure called a \"dictionary\"\n", "test = Dict() \n", "\n", "# Make fields called \"Latitude\" and \"Longitude\" with locations\n", "test[\"Latitude\"] = [-26.18, -21.55, 36.6, 54.4, 36.59, 32.5, 49.85, 49.58, 50.2, 42.4725, 48.47, 25.7725, 12.1851, 17.9, -18.1378, 16.1, 67.11, 48.25, 24.42, 23.2, 40.78, -15.38, 21.94, 61.2296, 49.0, 57.03, 63.6, 62.0, 69.47, 54.8189, 22.39, -17.9317, 48.12, 46.47, 49.0, 13.5, 13.5, 33.0, 20.536, 41.5783, 46.5045, 44.5633, 37.7, 43.7506, 37.2202, 58.07, 34.75, 38.25, 40.42, 43.96, 45.38, 37.78, 35.62, 65.25, 46.23, 53.68, 46.38, 45.11, 42.25, 60.25,46.2, 43.31, 39.81, 35.36, 34.88, 34.75, 62.76, 46.45, 54.75, 44.12, 33.61, 38.0, 36.62, 41.11, 47.95, 37.55, 36.5, 36.75, 48.1732, 22.045, 38.45, 61.4597, 36.0, 66.0, 37.5, 23.544, 69.45, 70.0, 6.25, 52.4, 4.58, -32.0, 64.45, 63.89, 63.95, 64.45, 57.03, 8.11, 7.35, 5.14]\n", "test[\"Longitude\"] = [27.84, 119.9, -118.3, -67.0, 27.17, 103.0, 7.88, 7.15, -60.6, 11.9731, -81.4, 100.32, -84.1862, -65.75, -69.1483, 76.6, 28.85, -78.25, 33.43, 35.1, 14.05, 167.83, 100.92, -131.514, -85.5, 120.72, 36.3, -94.5, 30.6, -100.804, -3.76, -177.567, -77.77, 89.58, -78.0, 78.0, 78.0, 102.0, -104.7, -121.658, -114.802, -114.282, -119.3, -114.641, -119.35, -135.63, -118.75, -91.41, -75.45, -123.66, -109.77, -107.66, -115.16, -147.0, -122.25,-166.4, -122.06, -109.9, -72.12, -152.25, -122.19, -117.31, -120.0, -112.7, -118.88, -118.86, -150.93, -122.03, -131.99, -121.75, -113.09, -72.87, -116.5, -106.25, -91.95, -90.7, -106.12, -106.25, 99.8333, -160.223, 27.3, -139.599, -78.9, -30.0, 140.5, 141.495, 86.22, -52.0, 10.5, -92.75, 9.66, 147.0, 29.05, 28.95, 29.08, 29.05, 120.72, 38.37, 38.42, 123.67]\n", "\n", "# Fill in some other fields with age [Ma], major element [wt. %], and trace elements [ppm] data\n", "# Notice there are some NaNs, but this is OK. This is a small sampling of real data from EarthChem\n", "test[\"Age\"] = [3210.0, 3300.0, 85.0, 2100.0, 0.0, 218.0, 275.0, 275.0, 1500.0, 0.254, 2650.0, 44.25, 19.5, 105.8, 1.305, 2600.0, 2415.0, 2100.0, 90.0, 975.0, 32.7685, 0.1, 249.0, 401.5, 2750.0, 3250.0, 2750.0, 2700.0, 2050.0, 1900.0, 188.8, 19.6, 1400.0, 407.0, 2720.0, 2520.0, 2520.0, 748.0, 2.0, 0.149, 46.0, 49.0, 123.0, 46.0, 114.0, 385.5, 33.4, 1400.0, 175.0, 33.4, 2700.0, 33.4, 2100.0, 395.5, 0.005, 33.4, 19.5, 2700.0, 395.5, 175.0, 0.005, 14.55, 33.4, 12.8, 14.55, 156.5, 44.4, 19.5, 429.5, 0.905, 33.4, 397.0, 14.55, NaN, 2750.0, 1400.0, 1400.0, 2100.0, 12.8, 0.5, 218.3, 226.3, 173.55, 44.25, 22.0, 12.8, 158.25, 34.05, 5.0e-6, 2750.0, 44.85, 47.5, 2750.0,2750.0, 2750.0, 2750.0, 3250.0, 1.31, 1.31, 44.85]\n", "test[\"SiO2\"] = [73.94, 68.07, 67.53, 58.4, 58.8485, 72.53, 72.31, 76.65, 64.37, 50.82, 59.7, 50.87, 55.55, 51.71, 66.01, 50.8, 50.51, 72.11, 58.1, 52.3, 56.69, 50.78, 55.05, 53.2, 58.9, 50.3, 77.9, 57.2, 61.03, 50.68, 54.48, 56.83, 50.34, 50.33, 69.84, 69.57, 73.2, 68.2, 50.26, 52.1, 53.06, 54.01, 69.3, 72.42, 61.47, 50.6, 51.1, 51.6, 52.2, 54.6, 55.3, 57.1, 57.2, 59.9, 60.7, 60.9, 61.25, 61.7, 62.1, 62.5, 63.1, 63.8, 64.9, 66.9, 67.5, 67.8, 68.0, 68.6, 68.7, 68.9, 69.7, 71.3, 73.1, 73.2, 74.3, 75.8, 76.0, 76.9, 47.53, 45.81, 46.21, 48.99, 46.9, 43.86, 48.73, 48.56, 48.3, 45.6, 49.25, 45.74, 47.29, 44.93, 41.7, 44.9, 47.8, 48.2, 49.6, 48.1, 46.35, 49.47]\n", "test[\"TiO2\"] = [0.28, 0.32, 0.517, 0.72, 1.10718, 0.29, 0.18, 0.07, 0.59, 0.79, 1.31, 0.53, 0.58, 0.7, 0.657, 0.98, 0.93, 0.66, 0.46, 1.3, 0.39, 1.19, 1.19, 0.29, 0.29, 0.83, 0.235, 0.78, 1.29, 0.9, 1.4, 1.2, 0.46, 2.17, 0.34, 0.42,0.2, 0.3, 1.6, 0.93, 1.88, 0.83, 0.48, 0.219, 0.89, 1.65, 1.8, 0.79, 1.16, 2.2, 0.7, 0.84, 1.63, 0.53, 0.7, 0.42, 1.07, 5.00543e-5, 1.6, 0.57, 0.67, 0.25, 0.14, 0.31, 0.34, 0.54, 0.54, 0.54, 0.41, 0.36, 0.37, 0.26, 0.2, 0.25, 0.04, 0.15, 0.18, 0.08, 2.23, 1.31, 3.13, 0.64, 0.55, 3.72, 0.6, 0.77, 1.33, 1.35, 2.93, 0.6, 2.71, 2.2, 0.59, 0.24, 0.48, 0.58, 0.94, 2.37, 2.55, 1.22]\n", "test[\"Al2O3\"] = [14.19, 16.55, 15.61, 18.5, 17.3459, 14.15, 14.23, 12.6, 14.64, 19.29, 10.42, 9.89, 15.32, 17.14, 16.33, 12.37, 15.94, 14.83, 16.99, 16.41, 18.83, 15.57, 16.85, 13.1, 18.7, 8.48, 12.4, 14.7, 9.2, 15.41, 14.02, 14.16, 18.04, 16.84, 15.11, 15.49, 13.75, 16.83, 13.26, 18.8, 15.82, 10.08, 14.9, 13.27, 16.29, 14.2, 17.1, 13.0, 14.1, 12.3, 14.2, 16.0, 14.2, 15.1, 17.8, 17.4, 15.64, 17.9, 15.4, 15.7, 17.8, 11.8, 18.2, 15.0, 14.7, 15.7, 16.2, 13.8, 13.8, 14.7, 15.2, 15.1, 13.1, 13.3, 13.5, 11.1, 12.1, 13.1, 14.8, 15.13, 14.54, 15.48, 17.8, 9.32, 14.67, 16.29, 16.42, 13.5, 17.88, 11.58, 15.57, 13.53, 4.0, 6.82, 11.3, 14.0, 15.4, 15.17, 14.88, 18.13]\n", "test[\"FeOT\"] = [2.12355, 2.69043, 3.36529, 6.67659, 6.40665, 1.64665, 1.43683, 0.82, 4.58, 6.87, 6.25366, 7.08, 6.45455, 8.22, 3.63, 11.19, 10.71, 0.57, 8.77, 8.37855, 3.42, NaN, 11.2868, 8.1, 7.56, 12.5, 2.37, 7.74, 15.394, 11.14, 11.31, 9.77, 10.66, 10.55, 2.7, 3.03, 1.61, 2.36, 7.16506, 7.66, 8.82, 8.7, 3.18979, 1.55, NaN, 11.0677, 4.02967, 12.6873, 10.2578, 13.2096, 7.90033, 6.80257, 10.1679, 4.32809, 4.82298, 4.79599, 6.10971, 5.37187, 4.55973, 6.10971, 4.56204, 2.13255, 1.06178, 2.3755, 3.32968, 3.17894, 3.62087, 4.41807, 3.00537, 2.3575, 1.74563,2.59693, 1.1498, 2.77977, 0.584877, 2.45648, 1.51168, 1.36091, 9.84955, 12.28, 12.07, 7.5, 9.21966, 14.1458,NaN, 8.98, 12.02, 10.89, 10.03, 10.84, 11.29, 11.75, 11.4, 9.71, 10.5, 9.28, 13.0, 11.27, 11.56, 6.46]\n", "test[\"MgO\"] = [0.66, 0.62, 1.44, 3.48, 2.71457, 0.58, 0.71, 0.55, 1.99, 4.32, 1.15, 16.22, 5.75, 5.53, 1.35, 9.97, 6.64, 0.22, 0.44, 4.62, 0.39, 6.35, 3.68, 11.01, 3.4, 13.3, 0.34, 6.1, 1.83, 7.99, 5.36, 2.09, 10.91, 5.62, 1.74, 0.88, 0.16, 1.42, 9.79, 7.16, 7.3, 10.63, 1.1, 0.31, 3.29, 0.98, 2.4, 10.3, 7.51, 2.4, 5.55, 3.11, 3.25, 1.11, 2.32, 2.1, 3.3, 3.12, 1.7, 2.77, 2.2, 0.18, NaN, 1.2, 0.5, 1.6, 1.3, 0.59, 1.11, 0.53, 0.32, 0.55, 0.16, 0.6,0.19, NaN, 0.05, 0.19, 8.05, 11.09, 7.13, 8.82, 9.9, 8.86, 12.71, 8.76, 6.83, 9.57, 3.66, 4.36, 7.13, 11.44,21.5, 22.0, 15.3, 5.45, 7.3, 8.26, 7.57, 7.42]\n", "test[\"CaO\"] = [0.58, 2.64, 3.65, 3.41, 6.51955, 2.1, 0.34, 0.35, 4.78, 8.6, 6.84, 6.11, 8.68, 7.33, 3.57, 9.88, 9.63, 1.97, 2.97, 7.45, 1.94, 10.56, 0.92, 8.12, 4.3, 13.4, 0.9, 10.36, 2.49, 10.52, 9.74, 8.68, 6.46, 6.56, 3.28, 3.45, 1.21, 2.66, 7.57, 9.23, 7.37, 9.78, 2.8, 3.38, 6.07, 6.95, 10.3, 0.43, 11.0, 5.9, 7.51, 4.2, 6.05, 3.29, 5.57, 4.79, 5.64, 1.73, 4.4, 6.25, 5.45, 1.21, 0.49, 2.9, 2.1, 3.3, 3.7, 2.3, 1.71, 1.83, 1.54, 2.2, 2.0, 2.3, 0.83, 0.03, 0.6, 0.95, 6.59, 10.66, 5.61, 7.69, 11.0, 12.29, 10.2, 11.46, 11.02, 11.1, 9.21, 10.47, 9.23, 10.16, 8.63, 7.57, 9.3, 9.7, 11.5, 9.78, 10.94, 12.45]\n", "test[\"Na2O\"] = [4.15, 4.89, 3.77, 3.8, 4.15415, 3.22, 2.94, 1.59, 4.31, 1.96, 3.81, 1.46, 2.63, 4.24, 4.17, 1.98, 3.44, 5.67, 6.34, 4.31, 5.69, 3.03, 4.92, 3.3, 2.8, 0.6, 3.36, 1.5, 1.52, 2.95, 2.4, 2.87, 0.05, 4.25, 5.24, 4.48, 3.42, 5.07, 2.98, 3.42, 3.49, 2.57, 3.8, 4.5, 3.23, 3.38, 3.7, NaN, 2.21, 3.4, 3.24, 3.83, 2.49, 2.71, 4.32, 3.85, 4.32, 4.35, 3.0, 2.75, 4.5, 3.92, 3.75, 3.5, 3.7, 3.2, 3.9, 4.2, 3.51, 4.45, 4.9, 3.6, 3.4, 4.0, 3.48, 1.34, 3.1, 3.8, 4.65, 2.52, 3.64, 2.88, 2.02, 1.15, 1.88, 2.14, 2.17, 1.58, 3.79, 2.35, 3.28, 3.46, 0.02, 0.12, 1.42, 2.55, 1.81, 2.98, 2.6, 3.16]\n", "test[\"K2O\"] = [4.02, 3.1, 3.63, 4.19, 1.81769, 4.48, 5.36, 5.02, 1.1, 6.06, 0.47, 4.95, 1.5, 0.4, 3.82, 0.26, 0.69, 1.55, 3.48, 1.02, 7.33, 1.23, 0.81, 0.76, 3.1, 0.22, 2.04, 0.44, 2.76, 0.13, 0.91, 0.71, 1.82, 1.57, 1.0, 1.25, 5.23, 1.92, 4.66, 0.561, 1.67, 2.91, 3.3, 4.2, 2.6, 2.23, 1.9, 3.21, 0.61, 0.65, 1.39, 3.85, 2.45, 10.3, 1.23, 2.0, 1.79, 4.98, 3.3, 1.59, 1.27, 2.75, 8.98, 2.59, 3.8, 3.2, 2.7, 2.81, 4.58, 2.77, 4.9, 3.1, 4.5, 1.3, 5.27,7.54, 5.1, 2.7, 4.26, 0.38, 0.7, 1.63, 0.24, 0.7, 0.22, 1.09, 0.23, 0.07, 1.86, 0.45, 1.06, 1.48, 0.53, 0.02, 0.05, 0.19, 0.13, 0.97, 0.49, 0.16]\n", "test[\"La\"] = [15.78, 46.0, 28.8, 35.6, 27.2, 30.18, 50.0, 49.0, 31.1, 91.5, 9.87, 21.4, 9.17, 8.4, 28.6113, 4.34, 8.0, 45.52, 80.7, NaN, 108.0, 15.2, 7.67, 0.8, 36.3, NaN, 46.7, 21.0, 34.2, 2.1, 14.22, 8.81, 1.34, 25.8, 9.0, NaN, 85.1, 7.0, 48.1, 8.76, 36.0, 28.6, 30.0, 44.0, 24.1, 44.7, 50.0, 12.0, 10.7, 50.0, NaN, 43.0, 75.0, 91.0, 13.0, 17.5, 27.0, NaN, 122.0, 8.45, 9.0, 73.0, 53.5, 27.5, 50.0, 50.0, 93.0, 32.0, 28.9, 23.0, 83.0, 13.0, 100.0, 22.6, NaN, 20.2, 200.0, NaN, 67.3, 8.16, 0.0, 2.16, 4.8, 17.707, 3.06, 31.5, 5.54, 2.95, 61.05, 2.18, 31.35, 50.0, 10.0, 20.0, 0.0, 20.0, 3.54, 25.7, 18.39, 2.85]\n", "test[\"Yb\"] = [NaN, 2.4, NaN, 0.72, 3.1, 0.69, NaN, NaN, 3.28, 2.61, 6.19, 1.46, 1.48, 1.64, 1.47864, 2.2, NaN, 2.71, 5.72, NaN, 4.7, 2.84, 2.81, 1.3, 1.76, NaN, 5.66, 1.71, 5.65, 2.03, 2.48, 5.5, 1.78, 4.1, NaN, NaN, 0.94, 0.36, 1.61, 1.3, 1.65, 1.86, 2.5, 2.49, 2.6, 4.1, 5.0, 2.7, 2.2, 7.0, NaN, 2.6, 5.0, 3.16, 2.0, 1.48, 2.0, 1.5, 5.8,2.74, 1.0, 9.36, 3.0, 1.12, 1.0, 1.5, 2.2, 4.0, 1.64, 3.0, 3.83, 0.77, 3.0, 4.81, NaN, 8.34, 15.0, NaN, 1.36, 1.59, NaN, 1.37, 2.3, 1.435, 1.76, 2.17, 2.65, 1.96, 2.53, 1.31, 1.88, 1.98, NaN, NaN, NaN, NaN, 2.1, 2.18,2.15, 2.26]\n", "\n", "# We're also going to want a list called \"elements\" with names of all the fields we want to resample\n", "elements = [\"Latitude\",\"Longitude\",\"Age\",\"SiO2\",\"TiO2\",\"Al2O3\",\"FeOT\",\"MgO\",\"CaO\",\"Na2O\",\"K2O\",\"La\",\"Yb\"]\n", "\n", "# Now let's add uncertainties, starting with age uncertainty\n", "test[\"Age_sigma\"] = [10.0, 10.0, 10.0, 400.0, 10.0, 10.0, 24.0, 24.0, 10.0, 0.027, 150.0, 21.25, 3.5, 6.2, 1.295, 10.0, 35.0, 400.0, 10.0, 125.0, 32.7315, 10.0, 10.0, 42.5, 250.0, 250.0, 250.0, 10.0, 450.0, 10.0, 12.8, 14.3, 300.0, 9.0, 10.0, 10.0, 10.0, 7.0, 1.0, 0.26, 4.0, 1.0, 23.0, 3.7, 2.0, 31.5, 31.6, 300.0, 31.0, 31.6, 150.0, 31.6, 400.0, 147.5, 0.005, 31.6, 14.2, 150.0, 147.5, 31.0, 0.005, 9.25, 31.6, 11.0, 9.25, 91.5, 20.6, 14.2, 13.5, 0.895,31.6, 146.0, 9.25, 10.0, 250.0, 300.0, 300.0, 400.0, 10.2, 0.5, 16.7, 24.7, 28.05, 21.25, 10.0, 10.2, 92.75,31.45, 10.0, 250.0, 10.95, 2.5, 250.0, 250.0, 250.0, 250.0, 250.0, 1.295, 1.295, 10.95]\n", "\n", "# For this dataset, lat and lon are good to 0.01 degrees (absolute)\n", "test[\"Latitude_sigma\"] = 0.01 * ones(size(test[\"Latitude\"]))\n", "test[\"Longitude_sigma\"] = 0.01 * ones(size(test[\"Longitude\"]))\n", "\n", "# We'll use a 1% relative (1-sigma) default analytical uncertainty for the rest of the elements\n", "for i=4:length(elements)\n", " test[elements[i]*\"_sigma\"] = test[elements[i]] * 0.01\n", "end" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Now that we have a dataset, resample it" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Dict{String, Union{Vector{Float64}, Vector{String}}} with 14 entries:\n", " \"MgO\" => [0.616878, 3.47389, 0.586819, 1.13047, 10.0078, 6.62306, 4.613…\n", " \"elements\" => [\"Latitude\", \"Longitude\", \"Age\", \"SiO2\", \"TiO2\", \"Al2O3\", \"FeO…\n", " \"Age\" => [3299.42, 1567.87, 224.311, 2764.51, 2620.9, 2453.6, 941.567, …\n", " \"Latitude\" => [-21.568, 54.4019, 32.5104, 48.4726, 16.1068, 67.1099, 23.188,…\n", " \"FeOT\" => [2.67998, 6.69395, 1.64709, 6.28466, 11.3088, 10.6809, 8.34621…\n", " \"TiO2\" => [0.316849, 0.727144, 0.29129, 1.31739, 0.989408, 0.928375, 1.3…\n", " \"CaO\" => [2.64238, 3.42053, 2.09255, 6.79846, 9.90336, 9.494, 7.53929, …\n", " \"Yb\" => [2.38344, 0.713394, 0.691019, 6.21696, 2.18236, NaN, NaN, 1.77…\n", " \"SiO2\" => [68.6597, 58.2029, 72.722, 59.1133, 50.6511, 50.643, 52.7028, …\n", " \"Longitude\" => [119.901, -67.0026, 103.009, -81.3828, 76.5978, 28.8492, 35.09…\n", " \"Al2O3\" => [16.7368, 18.2485, 14.0111, 10.4616, 12.5041, 16.153, 16.3969,…\n", " \"K2O\" => [3.10022, 4.09736, 4.48287, 0.47185, 0.259491, 0.702628, 1.019…\n", " \"Na2O\" => [4.92048, 3.74145, 3.18202, 3.82126, 1.98441, 3.37042, 4.39787…\n", " \"La\" => [45.9746, 35.7661, 30.3187, 10.0705, 4.33726, 7.95635, NaN, 35…" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## --- Resample\n", "\n", "# Compute proximity coefficients (inverse weights)\n", "k = invweight(test[\"Latitude\"], test[\"Longitude\"], test[\"Age\"])\n", "\n", "# # Alternatively, we could weight only by location or only by age (though won't make much difference with this dataset)\n", "# k = invweight_location(test[\"Latitude\"], test[\"Longitude\"])\n", "# k = invweight_age(test[\"Age\"])\n", "\n", "# Probability of keeping a given data point when sampling\n", "p = 1.0./((k.*nanmedian(5.0./k)) .+ 1.0) # Keep roughly one-fith of the data in each resampling\n", "\n", "# Resample a few hundred times (all elements!)\n", "nresamplings = 200\n", "mctest = bsresample(test, nresamplings*length(test[\"SiO2\"]), elements, p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Plot some of the results
(though this is a pretty small dataset)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## --- Approach 1: use the bulk-resampled dataset we just created\n", "\n", "# Calculate mean MgO for 8 bins between 40% SiO2 and 80% SiO2 from resampled dataset\n", "# (c = bin centers, m = means, e = 1-sigma S.E.M)\n", "(c,m,e) = binmeans(mctest[\"SiO2\"],mctest[\"MgO\"],40,80,8; resamplingratio=nresamplings)\n", "\n", "# Plot results\n", "plot(c,m,yerror=2*e,label=\"\",xlabel=\"SiO2\", ylabel=\"MgO\",xlims=(40,80),framestyle=:box)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## --- Approach 2: resample the binned means for one element at a time (Can resample many times)\n", "\n", "# Calculate binned means and uncertainties \n", "# (c = bincenters, m = mean, el = lower 95% CI, eu = upper 95% CI)\n", "(c,m,el,eu) = bin_bsr_means(test[\"SiO2\"],test[\"MgO\"],40,80,8, p=p, x_sigma=test[\"SiO2_sigma\"], nresamplings=10000)\n", "\n", "# Plot results\n", "plot(c,m,yerror=(el,eu),label=\"\",xlabel=\"SiO2\", ylabel=\"MgO\",xlims=(40,80), framestyle=:box)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Now let's try with a bigger dataset: \n", "### Reproducing some of the plots from Keller & Schoene 2012" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Dict{String, Any} with 117 entries:\n", " \"Lower_Vp\" => [7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2 … 7.2, 7.…\n", " \"Pd\" => [NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN … 0.01, N…\n", " \"MgO\" => [0.89, 0.5, 0.69, 2.83, 3.5, 2.81, 2.97, 2.32, 2.33, 1.74 … …\n", " \"C\" => [NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN … NaN, Na…\n", " \"Nb\" => [3.5, 1.3, 3.4, 11.6, 10.4, 12.2, 11.5, 8.3, 7.0, 4.9 … 11.…\n", " \"Ag\" => [NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN … 0.66, N…\n", " \"Gd\" => [NaN, NaN, NaN, 7.99, 5.92, 6.12, 5.94, 5.46, 2.01, 2.7 … N…\n", " \"Middle_Rho\" => [2.9, 2.9, 2.9, 2.8, 2.8, 2.8, 2.8, 2.8, 2.8, 2.8 … 2.9, 2.…\n", " \"Age\" => [1.0, 1.0, 1.0, 1650.0, 1650.0, 1650.0, 1650.0, 1650.0, 1650.…\n", " \"Sb\" => [NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN … NaN, 1.…\n", " \"TiO2\" => [0.27, 0.25, 0.24, 0.6, 0.63, 0.63, 0.59, 0.39, 0.48, 0.38 ……\n", " \"Cs\" => [NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN … NaN, 7.…\n", " \"Be\" => [NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN … 2.7, Na…\n", " \"Locality\" => [\"Adachi, Japan tonalite \", \"Adachi, Japan tonalite \", \"Adach…\n", " \"Sr\" => [312.0, 396.0, 272.0, 887.4, 798.0, 761.4, 698.7, 602.0, 790.…\n", " \"Material\" => [\"IGNEOUS\", \"IGNEOUS\", \"IGNEOUS\", \"IGNEOUS\", \"IGNEOUS\", \"IGNE…\n", " \"Ga\" => [NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN … 29.0, N…\n", " \"Ta\" => [NaN, NaN, NaN, 0.62, 0.59, 0.98, 0.67, 0.38, 0.41, 0.21 … …\n", " \"Te\" => [NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN … NaN, Na…\n", " \"Eustar\" => [NaN, NaN, NaN, 3.18574, 2.14821, 2.45012, 2.3435, 2.07734, 0…\n", " \"Al2O3\" => [19.19, 14.9, 15.77, 16.26, 17.65, 16.87, 16.21, 15.67, 15.38…\n", " \"CO2\" => [NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN … 7.3, 0.…\n", " \"Freeair\" => [31.0, 31.0, 31.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, …\n", " \"Y\" => [22.4, 7.5, 17.6, 29.1, 21.9, 22.0, 23.4, 19.3, 6.3, 8.2 … …\n", " \"U\" => [NaN, NaN, NaN, 1.18, 1.24, 3.33, 1.25, 1.09, 0.84, 1.42 … …\n", " ⋮ => ⋮" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## --- Download and unzip Keller and Schoene (2012) dataset\n", "if ~isfile(\"ign.h5\") # Unless it already exists\n", " download(\"https://storage.googleapis.com/statgeochem/ign.h5.gz\",\"./ign.h5.gz\")\n", " run(`gunzip -f ign.h5.gz`) # Unzip file\n", "end\n", "\n", "# Read HDF5 file\n", "using HDF5\n", "ign = h5read(\"ign.h5\",\"vars\") " ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "68696-element Vector{Float64}:\n", " 0.5\n", " 0.5\n", " 0.5\n", " 0.2\n", " 0.2\n", " 0.2\n", " 0.2\n", " 0.2\n", " 0.2\n", " 0.2\n", " 0.2\n", " 0.2\n", " 0.2\n", " ⋮\n", " 0.01\n", " 0.01\n", " 0.01\n", " 0.01\n", " 0.01\n", " 0.01\n", " 0.01\n", " 0.01\n", " 0.01\n", " 0.01\n", " 0.01\n", " 0.01" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## --- Compute proximity coefficients (inverse weights)\n", "# Since this is pretty computatually intensive, let's load a precomputed version instead\n", "\n", "# k = invweight(ign[\"Latitude\"] .|> Float32, ign[\"Longitude\"] .|> Float32, ign[\"Age\"] .|> Float32)\n", "k = ign[\"k\"]\n", "\n", "# Probability of keeping a given data point when sampling\n", "p = 1.0./((k.*nanmedian(5.0./k)) .+ 1.0); # Keep roughly one-fith of the data in each resampling\n", "p[vec(ign[\"Elevation\"].<-100)] .= 0 # Consider only continental crust\n", "\n", "# Age uncertainty\n", "ign[\"Age_sigma\"] = (ign[\"Age_Max\"]-ign[\"Age_Min\"])/2;\n", "t = (ign[\"Age_sigma\"] .< 50) .| isnan.(ign[\"Age_sigma\"]) # Find points with < 50 Ma absolute uncertainty\n", "ign[\"Age_sigma\"][t] .= 50 # Set 50 Ma minimum age uncertainty (1-sigma)\n", "\n", "# Location uncertainty\n", "ign[\"Latitude_sigma\"] = ign[\"Loc_Prec\"]\n", "ign[\"Longitude_sigma\"] = ign[\"Loc_Prec\"]" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## --- Try resampling a single variable to reproduce the MgO trend from K&S 2012\n", "xmin = 0\n", "xmax = 3900\n", "nbins = 39\n", "\n", "# Look only at samples in the basaltic silica range\n", "# (note that if uncertainty in SiO2 were more significant, we should be resampling this too)\n", "t = 43 .< ign[\"SiO2\"] .< 51 # Mafic\n", "\n", "# Calculate binned means and uncertainties \n", "# (c = bincenters, m = mean, el = lower 95% CI, eu = upper 95% CI)\n", "(c,m,el,eu) = bin_bsr_means(ign[\"Age\"][t],ign[\"MgO\"][t],xmin,xmax,nbins, p=p[t], x_sigma=ign[\"Age_sigma\"][t])\n", "\n", "# Plot results\n", "plot(c,m,yerror=(el,eu),seriestype=:scatter,color=:darkred,mscolor=:darkred,label=\"\")\n", "plot!(xlabel=\"Age (Ma)\", ylabel=\"MgO (wt. %)\",xlims=(0,4000),framestyle=:box,grid=:off,xflip=true) # Format plot" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "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", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## --- Same as above, but for Na2O\n", "xmin = 0\n", "xmax = 3900\n", "nbins = 39\n", "\n", "# Look only at samples in the basaltic silica range\n", "# (note that if uncertainty in SiO2 were more significant, we should be resampling this too)\n", "t = 43 .< ign[\"SiO2\"] .< 51 # Mafic\n", "\n", "# Calculate binned means and uncertainties \n", "# (c = bincenter, m = mean, el = lower 95% CI, eu = upper 95% CI)\n", "(c,m,el,eu) = bin_bsr_means(ign[\"Age\"][t],ign[\"Na2O\"][t],xmin,xmax,nbins, p=p[t], x_sigma=ign[\"Age_sigma\"][t])\n", "\n", "# Plot results\n", "plot(c,m,yerror=(el,eu),seriestype=:scatter,markerstrokecolor=:auto,label=\"\")\n", "plot!(xlabel=\"Age (Ma)\", ylabel=\"Na2O (wt. %)\",xlims=(0,4000),framestyle=:box,grid=:off,xflip=true) # Format plot" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Julia 1.9.0-beta4", "language": "julia", "name": "julia-1.9" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.9.0" } }, "nbformat": 4, "nbformat_minor": 2 }