{ "metadata": { "name": "", "signature": "sha256:3a502152a8f94ec1e7b503a88ee6eaa20a4478e1d50caa5c8fd0741a781113e9" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Breakout: data mining the LINEAR catalog\n", "\n", "In this breakout we'll explore unsupervised clustering and anomaly detection in variable sources from the LINEAR survey.\n", "This is similar to part of the analysis done in [this paper](http://adsabs.harvard.edu/abs/2013AJ....146..101P) (see also [this astroML example](http://www.astroml.org/book_figures/chapter10/fig_LINEAR_clustering.html)).\n", "\n", "We'll start with our standard imports, then take a look at the data:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from scipy import stats\n", "\n", "# use seaborn plotting defaults\n", "# If this causes an error, you can comment it out.\n", "import seaborn as sns\n", "sns.set()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Looking at the LINEAR data\n", "\n", "First we will download the data with astroML. This data is a set of variable sources from the LINEAR survey: we have both photometry (*u-g*, *g-i*, *i-K*, *J-K* colors) and light-curve measurements (*logP*, *amplitude*, and *skew*).\n", "\n", "### LINEAR catalog\n", "We have two views of the data. The first is a catalog derived from the light curves:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from astroML.datasets import fetch_LINEAR_geneva\n", "\n", "data = fetch_LINEAR_geneva()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The data is in the form of a record array. That is, each item of the data is a compound object containing multiple values:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print(data.shape)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(6146,)\n" ] } ], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "data[0]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 4, "text": [ "(119.526443, 46.96212, 1.166, 0.369, 1.018, 0.269, -0.2541378, 0.619, -0.313, -0.567, 16.37, 301.0, 1, b'29848')" ] } ], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "To learn what is in the data, we can look at the names from the data type" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print(data.dtype.names)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "('RA', 'Dec', 'ug', 'gi', 'iK', 'JK', 'logP', 'amp', 'skew', 'kurt', 'magMed', 'nObs', 'LCtype', 'LINEARobjectID')\n" ] } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Any individual column of values can be found with the item getter interface.\n", "For example, to get an array of all the RA values we can write:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "data['RA']" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 6, "text": [ "array([ 119.526443, 119.324013, 118.503448, ..., 168.818787,\n", " 169.745926, 168.388199])" ] } ], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we want to do some learning on this data, we need to put it in the form of a matrix.\n", "For example, we can choose the following features and construct the matrix this way:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "feature_names = ['ug', 'gi', 'iK', 'JK', 'logP', 'amp', 'skew']\n", "X = np.vstack([data[f] for f in feature_names]).T\n", "X.shape" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 7, "text": [ "(6146, 7)" ] } ], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The object ID is also available, if you'd like to refer back to the raw LINEAR data" ] }, { "cell_type": "code", "collapsed": false, "input": [ "data['LINEARobjectID']" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 8, "text": [ "array([b'29848', b'32086', b'43542', ..., b'24215207', b'24264418',\n", " b'24265735'], \n", " dtype='|S20')" ] } ], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### raw LINEAR data\n", "\n", "The second set available is the raw LINEAR light curve data" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from astroML.datasets import fetch_LINEAR_sample\n", "lightcurves = fetch_LINEAR_sample()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[10003298 10004892 10013411 ..., 9984569 9987252 999528]\n" ] } ], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "print(lightcurves)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\n" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result is an object which contains references to all the LINEAR data; if we're interested in any individual light curve, we can access it via the ID:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "lc = lightcurves.get_light_curve(10003298)\n", "lc.shape" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 11, "text": [ "(196, 3)" ] } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "This light curve has 196 observations, and the columns are [time, magnitude, mag_error].\n", "One shortcut to access this data is to transpose the array:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "t, y, dy = lc.T" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can now plot this data:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "plt.errorbar(t, y, dy, fmt='o');" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAfMAAAFVCAYAAAD7Sga4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X+0HWV97/H3Pie/COz8MB5NvXCTVX88FxUwhTYYUaAK\n9Fa9XqDaVL2AoBX5EV0QoK0QK0gLJqKNirRgTYq9zZIKKrdrgS4BEXJrsQ0q1T6CGlm9S+tpOCQn\ngfw6Z98/9sw5c+bM7D2z98yemWc+r7VY7Ow9e59nz56Z7zy/vk+j1WohIiIi1TVUdAFERESkPwrm\nIiIiFadgLiIiUnEK5iIiIhWnYC4iIlJxCuYiIiIVN6fbBsaY1cBN1trTjTEvAm4HlgAN4Dxr7c7Q\n9v8C7Pb++VNr7UXZFllERESCOgZzY8zVwLuBvd5THwfutNb+vTHmNODVwM7A9gsArLWn51FYERER\nma1bM/tTwDm0a+EAa4BjjDHfAN4FPBDa/gRgoTHmfmPMN71avYiIiOSoYzC31t4NHA48tRJ4xlp7\nBvA0cE3oLfuAjdbas4CLgb81xqhfXkREJEdd+8xDdgFf8x7fC9wYev3HtGvzWGufNMbsAn4N+H9x\nH9hqtVqNRiPuZRERERdlGvjSBvNHgDcDXwROBZ4Ivf4e4HjgUmPMS4BFwC86fWCj0WB0dDxlMSSt\nkZGm9nPOtI/zp32cP+3jwRgZaWb6eUmDub8ay5XAHcaYDwDPAu8EMMZsBT4MfB74gjHmYW/791hr\nJzMsr4iIiIQ0SrBqWkt3gfnT3Xb+tI/zp32cP+3jwRgZaWbazK7BaSIiIhWnYC4iIlJxCuYiIiIV\np2AuIiJScQrmIiIiFadgLiIiUnEK5iIiIhWnYC4iIlJxCuYiIiIVp2AuIiJScQrmIiIiFadgLiIi\nUnEK5iIiIhWnYC4iIlJxCuYiIiIVp2AuItKjq27dzlW3bi+6GCIK5iIiIlWnYC4iIlJxCuYiIiIV\np2AuIiJScQrmIiIiFadgLiIiUnEK5iIiIhWnYC4iIlJxCuYiIiIVp2AuIiJScXO6bWCMWQ3cZK09\n3RjzIuB2YAnQAM6z1u6MeM+LgH8G3mit/XG2RRaRMvDTmG68ZE3BJRGRjjVzY8zVtIP3fO+pjwN3\nWmtPBTYAr454z1zgL4F92RZVREREonRrZn8KOId2LRxgDXCMMeYbwLuAByLesxH4HPCLrAopIiIi\n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\niz8mXiu/aQAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Linking the Catalogs and Raw Data\n", "\n", "The catalogs and raw data are linked by the LINEAR ID:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "lc_index = 20\n", "lc_id = data['LINEARobjectID'][lc_index]\n", "lc_id" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 14, "text": [ "b'186102'" ] } ], "prompt_number": 14 }, { "cell_type": "code", "collapsed": false, "input": [ "lc = lightcurves.get_light_curve(int(lc_id))\n", "t, y, dy = lc.T" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 15 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then we can plot a phased lightcurve using the best-fit period, e.g." ] }, { "cell_type": "code", "collapsed": false, "input": [ "P = 10 ** data['logP'][lc_index]\n", "phase = t % P\n", "plt.errorbar(phase, y, dy, fmt='o');" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 16 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exploring the data\n", "\n", "This exercise is very free-form, but here are some suggestions for how to proceed with exploring this data:\n", "\n", "1. **Using Principal Component Analysis:**\n", "\n", " A. How many dimensions are needed to represent the data?\n", " \n", " B. Which objects are not well-approximated by this representation?\n", " \n", " C. Can you find any clusters in the data by-eye?\n", " \n", "2. **Using GMM:**\n", "\n", " A. How many clusters best-fit the data? (you can use BIC, AIC, or some other method)\n", " \n", " B. Does the best-fit GMM model show any outliers in the data? Are these \"real\" outliers or artifacts?\n", " \n", " C. Do any of these clusters dominate (i.e. small covariance, large weight, etc.)? Can you come up with a good visualization to convey information about which point belongs to which cluster?\n", " \n", "The purpose of this exercise is not necessarily to answer these questions, but to spend time using the tools we've learned on some **real** data, so you can see just how messy the process of data mining is! (And hey, if you find something interesting, maybe you should write a quick paper about it!) Good luck!" ] } ], "metadata": {} } ] }