Created
August 7, 2015 20:07
-
-
Save Uberi/0c7fac9a13d42d88feff to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{"nbformat_minor": 0, "cells": [{"source": "# Moon Phase Correlation Analysis", "cell_type": "markdown", "metadata": {}}, {"execution_count": 1, "cell_type": "code", "source": "import ujson as json\nimport matplotlib.pyplot as plt\nimport pandas as pd\nimport numpy as np\nimport plotly.plotly as py\n\nfrom moztelemetry import get_pings, get_pings_properties, get_one_ping_per_client\nfrom moztelemetry.histogram import Histogram\n\nimport datetime as dt\n\n%pylab inline", "outputs": [{"output_type": "stream", "name": "stdout", "text": "Populating the interactive namespace from numpy and matplotlib\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "This [Wikipedia article](https://en.wikipedia.org/wiki/Lunar_phase#Calculating_phase) has a nice description of how to calculate the current phase of the moon. In code, that looks like this:", "cell_type": "markdown", "metadata": {}}, {"execution_count": 2, "cell_type": "code", "source": "def approximate_moon_visibility(current_date):\n days_per_synodic_month = 29.530588853 # change this if the moon gets towed away\n days_since_known_new_moon = (current_date - dt.date(2015, 7, 16)).days\n phase_fraction = (days_since_known_new_moon % days_per_synodic_month) / days_per_synodic_month\n return (1 - phase_fraction if phase_fraction > 0.5 else phase_fraction) * 2\n\ndef date_string_to_date(date_string):\n return dt.datetime.strptime(date_string, \"%Y%m%d\").date()", "outputs": [], "metadata": {"collapsed": false, "trusted": true}}, {"source": "Let's randomly sample 10% of pings for nightly submissions made from 2015-07-05 to 2015-08-05:", "cell_type": "markdown", "metadata": {}}, {"execution_count": 4, "cell_type": "code", "source": "pings = get_pings(sc, app=\"Firefox\", channel=\"nightly\", submission_date=(\"20150705\", \"20150805\"), fraction=0.1, schema=\"v4\")", "outputs": [], "metadata": {"collapsed": false, "trusted": true}}, {"source": "Extract the startup time metrics with their submission date and make sure we only consider one submission per user:", "cell_type": "markdown", "metadata": {}}, {"execution_count": 5, "cell_type": "code", "source": "subset = get_pings_properties(pings, [\"clientId\", \"meta/submissionDate\", \"payload/simpleMeasurements/firstPaint\"])\nsubset = get_one_ping_per_client(subset)\ncached = subset.cache()", "outputs": [], "metadata": {"collapsed": false, "trusted": true}}, {"source": "Obtain an array of pairs, each containing the moon visibility and the startup time:", "cell_type": "markdown", "metadata": {}}, {"execution_count": 16, "cell_type": "code", "source": "pairs = cached.map(lambda p: (approximate_moon_visibility(date_string_to_date(p[\"meta/submissionDate\"])), p[\"payload/simpleMeasurements/firstPaint\"]))\npairs = np.asarray(pairs.filter(lambda p: p[1] != None and p[1] < 100000000).collect())", "outputs": [], "metadata": {"collapsed": false, "trusted": true}}, {"source": "Let's see what this data looks like:", "cell_type": "markdown", "metadata": {}}, {"execution_count": 18, "cell_type": "code", "source": "plt.figure(figsize=(15, 7))\nplt.scatter(pairs.T[0], pairs.T[1])\nplt.xlabel(\"Moon visibility ratio\")\nplt.ylabel(\"Startup time (ms)\")\nplt.show()", "outputs": [{"output_type": "display_data", "data": {"image/png": "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\n+Fiy+6FHlncn+fTHOivnPracOd26Lt1zS+4zMug9fWr9PjM5lOR948VDSU7r2e9w683J45L89Hj5\ncUnevQFdwhGJAAAPiUlEQVStb4dPPfL/Pjzzccjo8/rMlySPHa+5cQM/r1+X0UF7kjx5Hds55cFH\nD6z0/CRXPHg9lSWf2TL67F/5HnjheF2fnPXs0Xt65bP20Hjd2lvMxpdUvCr5x3GYvfNV628tO/C6\n5Irnjb6rktFn7MHXzbatOx6d/FmSJ46X/yzJPRty8nAju+iynKq11s0LV52S5B+TfG2SjyT52yTP\nba29e+I5rbVWnRTIXFTVPck54y+kW+5trZ3SbUVHqzrj7mTrKUd/+B+6p7VP96Kbc9VZ703u/Lwj\ng3QcSHLm+1q7ozfdDqt2tKO7HV6V5CfT2oFe/C1XnXJPcu+Wo3+HW+5t7Z7evBertt6RfObMo2s8\n/c7WDp3VZV0rqk5vow4h/2a85hNJ7k1rn+nFPk6SqtM+mdy98+jf4ak3t3b4gV3WtaLq9LuTbas+\na+66p7XP9OKzJlk5yKznJSsNobckaf9zfdeDnfaR5MyHHv3/vvOjrR1+2Nq3ddZnksOnJWeP19ya\n5LTDrd1x+qz1jbZb1ySnPePo7R6+trV24dq3db/xfp4MZXfd09rt6wi453w6+ZqtyTvGa56c5M8P\ntXbLGWvf1ko37KMCz8+uNyxXbbsjOXTm0e+drXe2dteaP8PGLbUvOfpvOeuqsersjyQXPPTo3+F1\nH23t1hneh/e/I7lj1f/1rDtbu21dn9ejv7+tzzv6c/bQuv7+WFyzZqIug96XJ3lxa+2Z4+WfSZLW\n2ssmniPoDcgo5GXVAXZ6Ffaqzm7JwRxd4/a0dmsv3odVdW+SWvU7bK213pzNrbp/S27P0TXeL63d\n1pff4fhD76jfYfr0WdP3GvteX9L/Gvv+d5LM53dYtb0lt63a5v3T2sG1H8DUqS25Z9W2Tklrd6/r\ndzg6kXF41XZPm+lExjz2c9XWlnxm1TZPT2uHZqhvPt/LG/nemcf3XtUZ49/hZDg7Pa19eob6trSk\n5ej6Kq3du8734Rlt1BI6ud2tM9XI4ps1E3V55vBhST40sfzhJF/aUS1sji3J9kwM4JDkYG8CysjB\nHKPG7sq5rzpGfT370L89Pf8dpv/1Jf2vse/1Jf2ucRH+TpKNr/G2DdzmPRu4rUmHN3C789jPn9nI\n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\nLyfQWru7qn48yTVJTknyytbau6vqh8aP/0Zr7U+r6uur6n1J7kjy/A5LZg2m2b9J/lOSc5K8Ytzy\nc7i19tSuamY6U+5bFtSUn83/UFVvSHJjknsz+g4W9Hpuyr/dlya5sqremdEJ/59urR3orGimVlWv\nSvJVSR5YVR9K8uKMulk7phqAk+3fzHBMZcJ0AACAgelb100AAADWSdADAAAYGEEPAABgYAQ9AACA\ngRH0AAAABkbQAwAAGBhBD4C5qqp7q+p3J5ZPrapPVNXrOqrnL0/y+Ouravt40umbjvOcK6rqC8b3\nP1hVOya3XVWPrKrnbnTt422fXVU/MrH80Kr6w3m8FgCLS9ADYN7uSPL4qjpjvHxBkg8n6WQi19ba\n007y+De01g6e5Dk/2Fr7h5XFY2z70Um+c9Yaq+rUEzx8TpIfnXjNj7bWvm3W1wJgmAQ9ADbDnyb5\nhvH95yZ5VZJKkqraUVV/UlXvrKq3VNUTTrL+sqr67ap6Y1W9v6r+w+oXq6ofqqr/MrH8vKr67+P7\nt4//fUhVvamqbqiqm6rqaeP1n22hS3JqVf1eVb2rqv6wqraNn7O/qs47xuvePr77siRfOd72T1TV\n/6mqJ0087y9W/j+ranxtVf15kuuq6qyq+n+r6u1VdWNVffPEth8z3vYvjVsP/268jTOq6srx86+v\nql1T7R0ABkfQA2Az/O8k31FVW5M8IclbJx77+SRvb609KcmlSX7nJOuT5LFJnpHkqUleXFWnrHq9\nVye5aGL52zMKl8mRFrjvTPKG1tq5SZ6U5J2rHk+SxyX5H621L0xyMEda0o7XGrmy/kVJ3txaO7e1\n9vIkr0zyvCSpqscm2dpaO1a30HOTPLu19tVJPp3kotbaU5L8uyR7J7b9/vG2X5RRYF553R9Lck9r\n7YkZBeqrqur049QKwIAJegDM3TjUPCqj8PH6VQ8/Lcnvjp/3xiQ7q+r+J1jfkry+tXa4tXZzko8n\nedCq1/tkkn+qqi+tqp1JHtda+6tVr/s3SZ5fVS9O8oTW2u25rw+11t4yvv97Sc6f8r9cq5b/KMk3\njrtkfl+SK4/xMy3Jta21T42XtyT5xap6Z5Lrkjy0qv7tMbY96WnjOtNa+8ck/5xRWAVgyQh6AGyW\n1yb55Ux025xwvPByvPWfmbh/T5JjXdP2B0n+fZJvTfLHqx9srb05yVcm+UiS/1lV33OMbUy23FVm\nvK6wtXZnRmHtW5J8W5LfP85T75y4/11JHpjkvHGr48eTnHHMnzra6t9ZJ9dCAtAtQQ+AzfLbSS5r\nrf39qvVvzijUZHxN2Sdaa7edYP2JWrQmXZ1RsHpuRqHvKFX1iPE2fyujrpXnHmMbj6iqLxvf/85x\nTdO4Lcn9V637rSSXJ/mb1tqtx/iZ1f+v7Uk+3lq7p6q+OskjT7DtFZO/s8cmeUSSf5yyZgAGRNAD\nYN5akrTWPtJa+9WJdSstTZclecq4i+JLk1x8kvWTP3v8Fx11gXxXkke01t62up4kX53kHVV1fUat\nbL+y6vFkFJJ+rKreleTsJK+Y5v+a0fV+91TVO6rqBeN6rk9ya47dbfNY/6/fT/LFVXVjku9J8u7x\ndm5O8pfjAWR+adXP/VqSLeOf+YMkF7fWDp+kZgAGqFrTowMA5q2qHprkja0118wBMHda9ABgzqrq\ne5P8dUajhwLA3GnRAwAAGBgtegAAAAMj6AEAAAyMoAcAADAwgh4AAMDACHoAAAADI+gBAAAMzP8P\nfJxi8cRc3/YAAAAASUVORK5CYII=\n", "text/plain": "<matplotlib.figure.Figure at 0x7fb952796290>"}, "metadata": {}}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "The correlation coefficient is now easy to calculate:", "cell_type": "markdown", "metadata": {}}, {"execution_count": 19, "cell_type": "code", "source": "np.corrcoef(pairs.T)[0, 1]", "outputs": [{"execution_count": 19, "output_type": "execute_result", "data": {"text/plain": "0.00048989909014640089"}, "metadata": {}}], "metadata": {"collapsed": false, "trusted": true}}], "nbformat": 4, "metadata": {"kernelspec": {"display_name": "Python 2", "name": "python2", "language": "python"}, "language_info": {"mimetype": "text/x-python", "nbconvert_exporter": "python", "version": "2.7.9", "name": "python", "file_extension": ".py", "pygments_lexer": "ipython2", "codemirror_mode": {"version": 2, "name": "ipython"}}}} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment