{ "cells": [ { "cell_type": "markdown", "id": "d1dd31bc-d251-49fe-85e9-26efafac52af", "metadata": {}, "source": [ "# Figure 3: Histogram comparing sampling strategies" ] }, { "cell_type": "code", "execution_count": 1, "id": "262aa4fa-b0fb-4098-b9b2-a643b17a3787", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "import pmagpy.pmag as pmag\n", "import pmagpy.ipmag as ipmag\n", "\n", "import smpsite as smp\n", "\n", "import warnings \n", "warnings.filterwarnings('ignore')\n", "\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "id": "59ae48db-0716-41c5-b998-7da31cb418b9", "metadata": {}, "source": [ "### Run simulation\n", "\n", "This notebook also includes how to run the simulation for the histograms. " ] }, { "cell_type": "code", "execution_count": 2, "id": "5c16ca97-32cc-4cab-8afc-9d5a8b6ab1e2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 33min 41s, sys: 123 ms, total: 33min 41s\n", "Wall time: 33min 41s\n" ] } ], "source": [ "%%time\n", "\n", "angular_dispersio_within_site = 10 # degrees\n", "kappa_within_site = smp.angular2kappa(angular_dispersio_within_site)\n", "latitude = 30\n", "outlier_rate = 0.10\n", "n_iters = 5000\n", "\n", "params1 = smp.Params(N=100,\n", " n0=1,\n", " kappa_within_site=kappa_within_site,\n", " site_lat=latitude, \n", " site_long=0,\n", " outlier_rate=outlier_rate,\n", " secular_method=\"G\",\n", " kappa_secular=None)\n", "\n", "params2 = smp.Params(N=20,\n", " n0=5,\n", " kappa_within_site=kappa_within_site,\n", " site_lat=latitude, \n", " site_long=0,\n", " outlier_rate=outlier_rate,\n", " secular_method=\"G\",\n", " kappa_secular=None)\n", "\n", "df_false = smp.simulate_estimations(params1, n_iters=n_iters, ignore_outliers=\"False\")\n", "df_true = smp.simulate_estimations(params2, n_iters=n_iters, ignore_outliers=\"True\")\n", "df_vandamme = smp.simulate_estimations(params1, n_iters=n_iters, ignore_outliers=\"vandamme\")\n", "\n", "df_false.to_csv(\"../../outputs/fig3a_df_false.csv\")\n", "df_true.to_csv(\"../../outputs/fig3a_df_true.csv\") \n", "df_vandamme.to_csv(\"../../outputs/fig3a_df_vandamme.csv\") " ] }, { "cell_type": "markdown", "id": "5ab5c9e2-03cd-409a-8b77-14193c3eb038", "metadata": {}, "source": [ "### Figure" ] }, { "cell_type": "code", "execution_count": 9, "id": "2502a08e-9195-4ff3-bf05-4a89e7996d88", "metadata": {}, "outputs": [], "source": [ "# panel = 'a'\n", "# panel = 'b'\n", "panel = 'c'\n", "\n", "df_false = pd.read_csv(\"../../outputs/fig3\"+panel+\"_df_false.csv\")\n", "df_true = pd.read_csv(\"../../outputs/fig3\"+panel+\"_df_true.csv\")\n", "df_vandamme = pd.read_csv(\"../../outputs/fig3\"+panel+\"_df_vandamme.csv\")" ] }, { "cell_type": "code", "execution_count": 10, "id": "32d2160a-6b43-43a6-a332-662c37d80b96", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | Unnamed: 0 | \n", "plong | \n", "plat | \n", "total_samples | \n", "samples_per_sites | \n", "S2_vgp | \n", "error_angle | \n", "S2_vgp_real | \n", "n_tot | \n", "N | \n", "n0 | \n", "kappa_within_site | \n", "site_lat | \n", "site_long | \n", "outlier_rate | \n", "secular_method | \n", "kappa_secular | \n", "ignore_outliers | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "0 | \n", "190.306018 | \n", "84.314629 | \n", "36.0 | \n", "5 | \n", "218.096967 | \n", "5.685371 | \n", "191.7229 | \n", "100 | \n", "20 | \n", "5 | \n", "66.069981 | \n", "30 | \n", "0 | \n", "0.6 | \n", "G | \n", "NaN | \n", "True | \n", "
1 | \n", "1 | \n", "55.662167 | \n", "85.483652 | \n", "34.0 | \n", "5 | \n", "215.659161 | \n", "4.516348 | \n", "191.7229 | \n", "100 | \n", "20 | \n", "5 | \n", "66.069981 | \n", "30 | \n", "0 | \n", "0.6 | \n", "G | \n", "NaN | \n", "True | \n", "
2 | \n", "2 | \n", "193.984859 | \n", "86.462183 | \n", "34.0 | \n", "5 | \n", "265.162109 | \n", "3.537817 | \n", "191.7229 | \n", "100 | \n", "20 | \n", "5 | \n", "66.069981 | \n", "30 | \n", "0 | \n", "0.6 | \n", "G | \n", "NaN | \n", "True | \n", "
3 | \n", "3 | \n", "358.720274 | \n", "86.835100 | \n", "34.0 | \n", "5 | \n", "461.786418 | \n", "3.164900 | \n", "191.7229 | \n", "100 | \n", "20 | \n", "5 | \n", "66.069981 | \n", "30 | \n", "0 | \n", "0.6 | \n", "G | \n", "NaN | \n", "True | \n", "
4 | \n", "4 | \n", "224.066484 | \n", "87.495521 | \n", "28.0 | \n", "5 | \n", "206.023724 | \n", "2.504479 | \n", "191.7229 | \n", "100 | \n", "20 | \n", "5 | \n", "66.069981 | \n", "30 | \n", "0 | \n", "0.6 | \n", "G | \n", "NaN | \n", "True | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
4995 | \n", "4995 | \n", "165.292979 | \n", "84.319601 | \n", "39.0 | \n", "5 | \n", "121.964481 | \n", "5.680399 | \n", "191.7229 | \n", "100 | \n", "20 | \n", "5 | \n", "66.069981 | \n", "30 | \n", "0 | \n", "0.6 | \n", "G | \n", "NaN | \n", "True | \n", "
4996 | \n", "4996 | \n", "9.619776 | \n", "87.047602 | \n", "46.0 | \n", "5 | \n", "175.154300 | \n", "2.952398 | \n", "191.7229 | \n", "100 | \n", "20 | \n", "5 | \n", "66.069981 | \n", "30 | \n", "0 | \n", "0.6 | \n", "G | \n", "NaN | \n", "True | \n", "
4997 | \n", "4997 | \n", "338.354021 | \n", "85.822482 | \n", "40.0 | \n", "5 | \n", "163.134369 | \n", "4.177518 | \n", "191.7229 | \n", "100 | \n", "20 | \n", "5 | \n", "66.069981 | \n", "30 | \n", "0 | \n", "0.6 | \n", "G | \n", "NaN | \n", "True | \n", "
4998 | \n", "4998 | \n", "14.220743 | \n", "87.025506 | \n", "48.0 | \n", "5 | \n", "163.107882 | \n", "2.974494 | \n", "191.7229 | \n", "100 | \n", "20 | \n", "5 | \n", "66.069981 | \n", "30 | \n", "0 | \n", "0.6 | \n", "G | \n", "NaN | \n", "True | \n", "
4999 | \n", "4999 | \n", "137.642242 | \n", "86.984741 | \n", "41.0 | \n", "5 | \n", "301.022274 | \n", "3.015259 | \n", "191.7229 | \n", "100 | \n", "20 | \n", "5 | \n", "66.069981 | \n", "30 | \n", "0 | \n", "0.6 | \n", "G | \n", "NaN | \n", "True | \n", "
5000 rows × 18 columns
\n", "