{ "metadata": { "name": "", "signature": "sha256:8782b6c3a25e59a75c9adcf9fb3dddd45a0439ce1e47e3e63e288e6fa08e6f0a" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline\n", "\n", "import json as json\n", "import numpy as np\n", "import matplotlib.pylab as plt\n", "from statsmodels.tsa.api import ARMA, ARIMA\n", "import statsmodels.api as sm" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 166 }, { "cell_type": "markdown", "metadata": {}, "source": [ "#Load Data" ] }, { "cell_type": "code", "collapsed": false, "input": [ "file_path = '/home/david/git/MIC-XRD-Polymer/visualization/Vis_data.json'" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "with open(file_path) as json_file:\n", " data_dicts = json.load(json_file)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "keys = data_dicts[0].keys()\n", "pt_key = keys[5]\n", "strain_key = keys[4]\n", "sample_key = keys[3]\n", "stress_key = keys[2]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "samples = []\n", "strains = []\n", "pc_points = []\n", "stresses = []\n", "for pt_dict in data_dicts:\n", " samples.append(pt_dict[sample_key])\n", " strains.append(pt_dict[strain_key])\n", " stresses.append(pt_dict[stress_key])\n", "samples_numbers = sorted(set(samples))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "sample_dict = {}\n", "for sample in samples_numbers: \n", " sub_data_dict = {}\n", " sub_strains = []\n", " sub_stress = []\n", " for strain, stress, samp, pts in zip(strains, stresses, samples, data_dicts):\n", " if samp == sample:\n", " if len(sub_data_dict) == 0:\n", " sub_data_dict['points'] = np.array(pts[pt_key])[..., None]\n", " else:\n", " sub_data_dict['points'] = np.concatenate((sub_data_dict['points'], np.array(pts[pt_key])[..., None]), axis=-1)\n", " sub_strains.append(strain)\n", " sub_stress.append(stress)\n", " sub_data_dict['strains'] = np.array(sub_strains)\n", " sub_data_dict['stresses'] = np.array(sub_stress)\n", " sample_dict[sample] = sub_data_dict" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "sample0 = sample_dict[samples_numbers[0]]\n", "sample1 = sample_dict[samples_numbers[1]]\n", "sample2 = sample_dict[samples_numbers[2]]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "stresses0 = sample0['stresses']\n", "strains0 = sample0['strains']\n", "points0 = sample0['points'][0]\n", "stresses1 = sample1['stresses']\n", "strains1 = sample1['strains']\n", "points1 = sample1['points'][0]\n", "stresses2 = sample2['stresses']\n", "strains2 = sample2['strains']\n", "points2 = sample2['points'][0]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "#Time Series" ] }, { "cell_type": "code", "collapsed": false, "input": [ "p = 4\n", "exo0 = np.concatenate((np.zeros(p), strains0))\n", "exo = np.concatenate((stresses0[:, None], strains0[:, None]))\n", "model = ARIMA(endog=points0 - points0[0], order=(p, 0, 0), exog=exo0[p:])" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 158 }, { "cell_type": "code", "collapsed": false, "input": [ "results = model.fit()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 159 }, { "cell_type": "code", "collapsed": false, "input": [ "print(results.summary())" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " ARMA Model Results \n", "==============================================================================\n", "Dep. Variable: y No. Observations: 184\n", "Model: ARMA(4, 0) Log Likelihood 48.941\n", "Method: css-mle S.D. of innovations 0.181\n", "Date: Thu, 12 Mar 2015 AIC -83.881\n", "Time: 11:23:09 BIC -61.377\n", "Sample: 0 HQIC -74.760\n", " \n", "==============================================================================\n", " coef std err z P>|z| [95.0% Conf. Int.]\n", "------------------------------------------------------------------------------\n", "const -9.9415 5.122 -1.941 0.054 -19.980 0.097\n", "x1 17.8994 3.317 5.396 0.000 11.397 24.401\n", "ar.L1.y 1.0544 0.069 15.366 0.000 0.920 1.189\n", "ar.L2.y 0.4320 0.105 4.101 0.000 0.226 0.638\n", "ar.L3.y -0.1146 0.105 -1.090 0.277 -0.321 0.091\n", "ar.L4.y -0.3773 0.070 -5.420 0.000 -0.514 -0.241\n", " Roots \n", "=============================================================================\n", " Real Imaginary Modulus Frequency\n", "-----------------------------------------------------------------------------\n", "AR.1 1.0156 -0.0476j 1.0167 -0.0075\n", "AR.2 1.0156 +0.0476j 1.0167 0.0075\n", "AR.3 -1.1674 -1.0959j 1.6012 -0.3800\n", "AR.4 -1.1674 +1.0959j 1.6012 0.3800\n", "-----------------------------------------------------------------------------\n" ] } ], "prompt_number": 160 }, { "cell_type": "code", "collapsed": false, "input": [ "strains_exo = np.concatenate((np.zeros(p), strains2))\n", "stresses_exo = np.concatenate((np.zeros(p), stresses1))\n", "print stresses1.shape" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(241,)\n" ] } ], "prompt_number": 161 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 161 }, { "cell_type": "code", "collapsed": false, "input": [ "print points2.shape\n", "print points2[0]\n", "y_points2 = model.predict(params=results.params, exog=strains_exo, dynamic=True) + points2[0]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(245,)\n", "-17.0737094879\n" ] }, { "ename": "ValueError", "evalue": "shapes (249,) and (1,) not aligned: 249 (dim 0) != 1 (dim 0)", "output_type": "pyerr", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)", "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;32mprint\u001b[0m \u001b[0mpoints2\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[1;32mprint\u001b[0m \u001b[0mpoints2\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[0my_points2\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmodel\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpredict\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mparams\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mresults\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mparams\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mexog\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mstrains_exo\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdynamic\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mTrue\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0mpoints2\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[1;32m/home/david/anaconda/lib/python2.7/site-packages/statsmodels/tsa/arima_model.pyc\u001b[0m in \u001b[0;36mpredict\u001b[1;34m(self, params, start, end, exog, dynamic)\u001b[0m\n\u001b[0;32m 637\u001b[0m return _arma_predict_out_of_sample(params, out_of_sample, resid,\n\u001b[0;32m 638\u001b[0m \u001b[0mk_ar\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mk_ma\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mk_trend\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mk_exog\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mendog\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mexog\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 639\u001b[1;33m start, method)\n\u001b[0m\u001b[0;32m 640\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 641\u001b[0m predictedvalues = _arma_predict_in_sample(start, end, endog, resid,\n", "\u001b[1;32m/home/david/anaconda/lib/python2.7/site-packages/statsmodels/tsa/arima_model.pyc\u001b[0m in \u001b[0;36m_arma_predict_out_of_sample\u001b[1;34m(params, steps, errors, p, q, k_trend, k_exog, endog, exog, start, method)\u001b[0m\n\u001b[0;32m 233\u001b[0m \u001b[0mexparams\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0marparams\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 234\u001b[0m \u001b[0mmaparams\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msteps\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmethod\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 235\u001b[1;33m exog)\n\u001b[0m\u001b[0;32m 236\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 237\u001b[0m \u001b[0mforecast\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mzeros\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msteps\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m/home/david/anaconda/lib/python2.7/site-packages/statsmodels/tsa/arima_model.pyc\u001b[0m in \u001b[0;36m_get_predict_out_of_sample\u001b[1;34m(endog, p, q, k_trend, k_exog, start, errors, trendparam, exparams, arparams, maparams, steps, method, exog)\u001b[0m\n\u001b[0;32m 204\u001b[0m \u001b[1;31m#TODO: technically should only hold for MLE not\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 205\u001b[0m \u001b[1;31m# conditional model. See #274.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 206\u001b[1;33m \u001b[0mX\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mlagmat\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mexog\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mexparams\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mp\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0moriginal\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'in'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtrim\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'both'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 207\u001b[0m \u001b[0mmu\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtrendparam\u001b[0m \u001b[1;33m*\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;36m1\u001b[0m \u001b[1;33m-\u001b[0m \u001b[0marparams\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msum\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 208\u001b[0m \u001b[1;31m# arparams were reversed in unpack for ease later\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;31mValueError\u001b[0m: shapes (249,) and (1,) not aligned: 249 (dim 0) != 1 (dim 0)" ] } ], "prompt_number": 169 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.figure()\n", "plt.plot(y_points2, label='Predicted')\n", "plt.plot(points2, label='Actual')\n", "plt.legend(loc=2)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 163, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 163 }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "y_points0 = model.predict(params=results.params, exog=exo0) + points0[0]\n", "plt.figure()\n", "plt.plot(y_points0, label='Predicted')\n", "plt.plot(points0, label='Actual')\n", "plt.legend(loc=2)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 164, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 164 }, { "cell_type": "code", "collapsed": false, "input": [ "l = 0\n", "plt.plot(points0[:] - y_points0[l:])" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 165, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 165 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 148 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }