{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Component inference and model families \n", "\n", "This notebook shows a series of examples of how to use model families and component inference with PCM." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Import necessary libraries\n", "import PcmPy as pcm\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sb\n", "import scipy.io as io" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 1: Simple 3 x 2 Design\n", "This is a classical example of a fully crossed design with two factors (A and B) and the possibility for an interaction between those two factors. A experimental example would be that you measure the response to 6 stimuli, with 3 different objects in two different colors. You want to test whether a) objects are represented b) colors are represented c) the unique combination of color and object is represented. Thus, this is a MANOVA-like design where you want to test for the main effects of A and B, as well as their interaction. \n", "\n", "*Note: When building the features for the 3 different components, the interaction usually has to the orthogonalized for the main effects. If the interaction is not orthogonalized, the interaction effect can explain part of the variance explained by the main effects. Try out what happens when you use the non-orthogonalized version of the interaction effect - you will see that a Model Family deals correctly with this situation as well!* " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Generating data from a 3x2 Design\n", "Note that for data generation, we consider the interaction fixed - meaning that when the interaction effect is present, no difference between categories of A and B occur. " ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Generate the three model components, each one as a fixed model\n", "A = np.array([[1.0,0,0],[1,0,0],[0,1,0],[0,1,0],[0,0,1],[0,0,1]])\n", "B = np.array([[1.0,0],[0,1],[1,0],[0,1],[1,0],[0,1]])\n", "I = np.eye(6)\n", "# Orthogonalize the interaction effect\n", "X= np.c_[A,B]\n", "Io = I-X @ np.linalg.pinv(X) @ I\n", "\n", "# Now Build the second moment matrix and create the full model \n", "# for data generation: \n", "Gc = np.zeros((3,6,6))\n", "Gc[0]=A@A.T\n", "Gc[1]=B@B.T\n", "Gc[2]=Io@Io.T\n", "\n", "trueModel = pcm.ComponentModel('A+B+I',Gc)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now generate 20 data set from the full model. \n", "The vector `theta` gives you the log-variance of the A,B, and Interaction components. Here A is absent, and the interaction stronger than the B-effect. \n", "You can play around with the values to check out other combinations. " ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "[cond_vec,part_vec]=pcm.sim.make_design(6,8)\n", "theta = np.array([-np.inf,-1,0])\n", "D = pcm.sim.make_dataset(trueModel,theta,\n", " signal=0.1,\n", " n_sim = 20,\n", " n_channel=20,\n", " part_vec=part_vec,\n", " cond_vec=cond_vec)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Building a model family" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we construct a model family for all possible combinations \n", "\n", "*Note:Here you can decide whether to use the orthogonalized interaction effect or not*" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Use orthogonlized interaction effect \n", "Gc[2]=Io@Io.T\n", "MF=pcm.model.ModelFamily(Gc,comp_names=['A','B','I'])\n", "\n", "# Show the three model components\n", "for i in range(3):\n", " ax = plt.subplot(1,3,i+1)\n", " plt.imshow(Gc[i])\n", " ax.get_xaxis().set_visible(False)\n", " ax.get_yaxis().set_visible(False)\n", " plt.title(MF.comp_names[i])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Fitting the data \n", "Now we can fit the data with the entire model family. An intercept is added as a fixed effect for each partition (block) seperately, as common for fMRI data. The result is a likelihood for each of the model combination. " ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Fit the data and display the relative likelihood. \n", "T,theta=pcm.fit_model_individ(D,MF,verbose=False,fixed_effect='block', fit_scale=False)\n", "# Here we correcting for the number of parameters (using AIC)\n", "pcm.vis.model_plot(T.likelihood-MF.num_comp_per_m)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Inference: Model posterior\n", "For the inference, we can use either crossvalidated pseudo-likelihoods (within- subject or between subjects - see inference), or we can use the fitted likelihood, correcting for the number of paramaters using an AIC approach. We use latter approach here. " ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# We can computer the posterior probability of each of the mixture models. \n", "# This uses the flat prior over all possible model combinations \n", "# The whole model family can visualized as a model tree. \n", "plt.figure(figsize=(5,7))\n", "# Get the mean likelihood \n", "\n", "mposterior = MF.model_posterior(T.likelihood.mean(axis=0),method='AIC',format='DataFrame')\n", "pcm.vis.plot_tree(MF,mposterior,show_labels=True,show_edges=True)\n", "# mposterior.to_numpy()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Inference: Component posterior\n", "We can also get the posterior probability for each component. This is simply the sum of the posterior probabilties of all the model combinations that contain that component. The 0.5 line (this is the prior probability) is drawn. The lower line is the most evidence we can get for the absence of a model component using AIC. This is because, in the worst case, a new component does not increase the likelihood at all. This would result in the new component having a realtive likelihood that is 1.0 lower than the simpler model (parameter penality). Thus, overall the worst we can get p=1/(1+exp(1))." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "\n", "# Component posterior\n", "plt.figure(figsize=(4,3))\n", "cposterior = MF.component_posterior(T.likelihood,method='AIC',format='DataFrame')\n", "pcm.vis.plot_component(cposterior,type='posterior')\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Component Bayes factor \n", "For frequentist statistical testing and display, it is also often useful use the log-odds of the posterior $log(p/(1-p))$. For a flat prior across the model family, this is the bayes factor for the specific component. " ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAREAAADQCAYAAAAgV1UrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAR5ElEQVR4nO3deZRcZZ3G8e/TgXQWiDEECJI0jYyAjEiACEJwToCorCo7GQTj6KAgDHFAFAaiIIfRCA4OypJhNGxCWEfZhEREZBM6EJaAnZBASAJNFoghi52lf/NH3cbqVHfndt+uvl308zmnT9W9b9V9f9Qhz93vq4jAzKyzqvIuwMwqm0PEzDJxiJhZJg4RM8vEIWJmmThEzCyTzfIuoCOGDh0atbW1eZdh1uvMmDFjaURs3VpbRYVIbW0tdXV1eZdh1utImt9Wm3dnzCwTh4iZZeIQMbNMHCJmlklFHVg1+6A799xzaWhoYNiwYUyaNCnvclJxiJj1IA0NDSxatCjvMjrEIWLdohLXsJaOQ8S6RSWuYS0dH1g1s0wcImaWiUPEzDJxiJhZJg4RM8vEIWJmmeQeIpL6SHpO0r1512JmHZd7iABnAa/kXYSZdU6uISJpOHA4cF2edZhZ5+W9JXIFcC7QlHMdZtZJuYWIpCOAxRExYxOfO1VSnaS6JUuWdFN1ZpZWnlsio4EvSHoduBU4SNJNG38oIiZHxKiIGLX11q0+J9bMcpRbiETEeRExPCJqgROBhyPiy3nVY2adk/cxETOrcD3iUQAR8QjwSM5lmFkneEvEzDJxiJhZJg4RM8vEIWJmmThEzCwTh4iZZeIQMbNMHCJmlolDxMwycYiYWSYOETPLxCFiZpk4RMwsE4eImWXSIx4FYNYTjb5ydLf32Xd5X6qoYsHyBd3e/+NnPt6p73lLxMwycYiYWSYOETPLJM8hI/pJelrS85JmSboor1rMrPPyPLDaCBwUESslbQ48JumBiHgqx5rMrINyC5GICGBlMrl58hd51WNmnZP3WLx9JM0EFgPTIuLPedZjZh2Xa4hExIaIGAkMB/aR9ImNP+NhNM16th5xdiYilgN/AA5ppc3DaJr1YHmendla0uDkfX/gs8Bf8qrHzDonz7Mz2wHXS+pDIcxui4h7c6zHzDqh3RBJ/oFPj4gDu7rjiHgB2LOrl2tm3avd3ZmI2AA0SfpQN9VjZhUmze7MSuBFSdOAVc0zI+LfylaVmVWMNCFyV/JnZlZikyESEddL6gvsnMyqj4h15S3LyumNi3fv9j7XvzME2Iz178zv1v5rJr7YbX31VpsMEUljgOuB1wEBIyR9JSIeLWtlZlYR0uzOXA58LiLqASTtDNwC7F3OwsysMqS52Gzz5gABiIjZFG6WMzNLtSVSJ+k64KZk+iSgrnwlmVklSRMipwHfAppP6f4J+EXZKjKzipImRL4ZET8Ffto8Q9JZwM/KVpWZVYw0x0S+0sq88V1ch5lVqDa3RCSNA/4Z2FHSb4uatgTeKXdhZlYZ2tudeQJ4CxhK4TRvs/eAF8pZlJlVjjZDJCLmA/MlnQS8GRF/g/ef/TGcwsVnZtbLpTkmchvQVDS9Abi9POWY9W4xIGga2EQMqJxnlqc5O7NZRKxtnoiItcm9NGbWxdaNrrzb0tJsiSyR9IXmCUlfBJaWryQzqySprhMBbpb0cwo34C0ATilrVWZWMdI8CmAu8GlJWyTTKzfxFTPrRVI9qFnS4cA/Av0kARARF2fpWNII4AZgWwoj302OCF8Fa1Zh0jxP5BpgAHAgcB1wLPB0F/S9Hjg7Ip6VtCUwQ9K0iHi5C5ZtZt0kzYHV/SPiFODdiLgI2I+/P+Ws0yLirYh4Nnn/HvAKsH3W5ZpZ90oTImuS19WSPgKsozBmTJeRVEth+IiSsXg9jKZZz5YmRO5NRqr7CfAshStVf91VBSQHbO8EJkTEio3bPYymWc/WZohIOgMgIn4IbB8RdwI7ALtGxMSu6FzS5hQC5OaI8BPlzSpQe1si/1L0/kaAiGiMiL92RccqnOb5X+CV5HklZlaB0g7orTL0PRo4GThI0szk77Ay9GNmZdTeKd7Bko6iEDSDJB1d3Jh19yMiHqM84WRm3ai9EPkj0HzPzKPAkUVtgUfFMzPaf57IV7uzEDOrTGmPiZiZtcohYmaZOETMLJNNhoik45Ib5JB0gaS7JO1V/tLMrBKk2RK5MCLek3QAMJbCBWJXl7csM6sUaUJkQ/J6OIVnftwH+BmrZgakC5FFkq4FTgDul1Sd8ntm1gukCYPjgQeBz0fEcmAI8J1yFmVmlWOTIRIRq4HFwAHJrPXAnHIWZWaVI83Zme8D3wXOS2ZtDtxUzqLMrHKk2Z05isI9NKsAIuJNCoN6m5mlCpG1EREUbrpD0sDylmRmlSTVWLzJ2ZnBkv4VmA78T3nLMrNKkWbwqsskfRZYAewCTIyIaWWvzMwqQppxZ84EbnJwmFlr0uzObAs8I+k2SYeoeQg8MzPSXSdyAfAxCvfMjAfmSLpU0k5ZO5f0S0mLJb2UdVlmlo9Ul68nZ2cakr/1wIeBOyRNytj/FOCQjMswsxylOSZyFnAKsJTCWLzfiYh1kqooXLl6bmc7j4hHk9Hv7ANuaL8mYH3yah8kmwwRCvfKHB0R84tnRkSTpCPKU9bfSToVOBWgpqam3N1ZmZzzyeV5l2BlkuYU7/cBJG0D9Cua/0ZEvFLG2pr7mQxMBhg1alSUuz8z65g0984cKWkO8BqFYSReBx4oc11mViHSHFi9BPg0MDsidgQOBp4qa1VmVjHShMi6iFgGVEmqiog/AKO6onNJtwBPArtIWijpa12xXDPrPmkOrC6XtAWFUfBulrSY5I7erCJiXFcsx8zyk2ZL5IvAauDbwO+AubQcUtPMerE0Z2eatzqaJN0HLEsuPjMza3tLRNKnJT2SjDOzZ3Jp+kvA25J8lamZAe1vifwcOB/4EPAwcGhEPCVpV+AWCrs2ZtbLtXdMZLOIeCgibgcaIuIpgIj4S/eUZmaVoL0QKb7JYc1GbT4mYmZA+7sze0haAQjon7wnme7X9tfMrDdpM0Qiok93FmJmlcnDYZpZJg4RM8vEIWJmmThEzCwTh4iZZeIQMbNMHCJmlolDxMwycYiYWSYOETPLJNcQScb2rZf0qqTv5VmLmXVObiEiqQ/wC+BQYDdgnKTd8qrHzDonzYOay2Uf4NWImAcg6VYKz3N9ua0v1NfXM2bMmBbzjj/+eE4//XRWr17NYYcdVvKd8ePHM378eJYuXcqxxx5b0n7aaadxwgknsGDBAk4++eSS9rPPPpsjjzyS+vp6vvGNb5S0X3DBBYwdO5aZM2cyYcKEkvZLL72U/fffnyeeeILzzz+/pP2KK65g5MiRTJ8+nUsuuaSk/dprr2WXXXbhnnvu4fLLLy9pv/HGGxkxYgRTp07l6quvLmm/4447GDp0KFOmTGHKlCkANM6f9377lJNq6d+3ihueXsZ9s/5a8v2pX/1ooY7Hl/Lw7BUt2qo3q+KGk2sB+Nkji3nitZUt2gf334xrTyyMWvjjaQ08u3B1i/ZhgzbnZ8eMAOCiB97i5YaWT5zYcatqfvSF7QH43m8X8dqyxhbtuw3rz/cP3Q6As+5cQMOKdS3a9xo+gF9MLLw/5phjWLZsWYv2gw8+mAsvvBCAQw89lDVrWva/aPAitj+40P9L/1065vxWe27Fdp/Zjg1rN/DKNaXjuG2z7zZss+82rFu5jvpf1pe0DztgGEP3Gkrju43MuXFOSftHDvwIQ3Yfwpq31zB36tyS9uGfH87gXQazauEqXrvrtZL2miNqGPTRQayYt4I37n2jpH3Ho3dk4PCBLK9fzsIHFzLmzjEt2ov/32tPniGyPbCgaHohsO/GHyoeRrO6urrNhY0+/2Zenft2yfzXpz7OlbOqWL/6Pea10v69mx5lUl0ja1cs4/VW2if86mF+8Oi7/O2dt3ijlfbTJk9j0INvsnrxfBa20v7Vnz/AFne/yspFc3izlfZx/3UPA7Z5gRXzZ9HQSvvRk/6PfkO2Y/nc51hc1L73TtuW/ggpVe/wqfffjzj/fgYMGMCQq66ieuVtJZ+tmfgIAB++7DKqG+9t0da/f39qJhbGMRusH1Ld9PsW7QO22oqaiXcCMGjNeVQ/+WSL9oHDh1Mz8SYAtnxnAtUzZ7Zo32LnnamZOLnwfuGpVM+e3aJ9y5EjqZl4RWFZs79M9cKFLdoH7bdfq//9aZ1xwBmcc+Y5ACX/wACOH1O0ArunlRXY2KIV2IOtrMAOKVqBPdzKCuzIohXYY62swL5UtAL784SS9kuPK1qBPdfKCmxc0QrspdIVWFrK65nLko4FDomIryfTJwP7RsQZbX1n1KhRUVdX12rb3t+5oSx19lQzfnJK3iVYLyJpRkS0Ot5UngdWFwEjiqaHJ/PMrILkGSLPAB+TtKOkvsCJwG9zrMfMOiG3YyIRsV7SGcCDQB/glxExK696zKxz8jywSkTcD9yfZw1mlo2vWDWzTBwiZpaJQ8TMMnGImFkmDhEzy8QhYmaZOETMLBOHiJll4hAxs0wcImaWiUPEzDJxiJhZJg4RM8sk17t4K93AOQ9RtXYVTX0Hsupjn8u7HLNcOEQyqFq7ij6NKzb9QbMPMO/OmFkmDhEzy8QhYmaZ5HJMRNJxwA+AjwP7RETr40B0QB5DKJxyynQWLVpBzdAtucFDOFgvldeWyEvA0cCjOfVvZl0kly2RiHgFQFIe3ZtZF+rxx0QknSqpTlLdkiVL8i7HzDZSti0RSdOBYa00/UdE/CbtciJiMjAZCsNodlF5XWLYsGEtXs16o7KFSESMLdeye4pJkyblXYJZ7nr87oyZ9Wy5hIikoyQtBPYD7pP0YB51mFl2eZ2duRu4O4++zaxreXfGzDJxiJhZJoroUWdN2yVpCTA/7zo2MhRYmncRFcK/VTo98XfaISK2bq2hokKkJ5JUFxGj8q6jEvi3SqfSfifvzphZJg4RM8vEIZLd5LwLqCD+rdKpqN/Jx0TMLBNviZhZJg6RDCR9SVJI2jXvWnoqSRskzZT0vKRnJe2fd009naSVedfQEQ6RbMYBjyWv1ro1ETEyIvYAzgP+M++CrGs5RDpJ0hbAAcDXgBNzLqdSDALezbsI61oevKrzvgj8LiJmS1omae+ImJF3UT1Qf0kzgX7AdsBB+ZZjXc1bIp03Drg1eX8r3qVpS/PuzK7AIcAN8sN1P1B8ircTJA0BFgJLgAD6JK87hH/QFiStjIgtiqbfBnaPiMU5ltWjbfyb9XTeEumcY4EbI2KHiKiNiBHAa8Bncq6rR0vOYvUBluVdi3UdHxPpnHHAjzead2cy32PptNR8TARAwFciYkOO9VgX8+6MmWXi3Rkzy8QhYmaZOETMLBOHiJll4hAxs0wcIr2YpGGSbpU0V9IMSfdL2jnvujpL0hjfJdz9HCK9VHLp+d3AIxGxU0TsTeEu223zrSyTMYBDpJs5RHqvA4F1EXFN84yIeB54TNJPJL0k6UVJJ8D7a/k/SvqNpHmSfiTpJElPJ5/bKfncFEnXSKqTNFvSEcn8fpJ+lXz2OUkHJvPHS7pL0u8kzZH0/ijpkj4n6cnkOSS3J3dOI+l1SRcl81+UtKukWuCbwLeT55f46uFu4itWe69PAK3ddXw0MBLYg8L4J89Iar4Kdw/g48A7wDzguojYR9JZwJnAhORztcA+wE7AHyT9A/AtICJi9+Ty94eKdp1GAnsCjUC9pCuBNcAFwNiIWCXpu8C/Axcn31kaEXtJOh04JyK+LukaYGVEXJbtp7GOcIjYxg4AbkkuTX9b0h+BTwErgGci4i0ASXOBh5LvvEhhy6bZbRHRBMyRNA/YNVnulQAR8RdJ84HmEPl9RPw1We7LwA7AYGA34PHkpt++wJNFfdyVvM6gEHyWE4dI7zWLwo2EHdFY9L6paLqJlv8vbXwvxaburShe7oZkWQKmRURbj1ho3OjzlhMfE+m9HgaqJZ3aPEPSJ4HlwAmS+kjaGvgn4OkOLvs4SVXJcZKPAvXAn4CTkn52BmqS+W15Chid7AohaWCKM0fvAVt2sFbLyCHSSyXPPTkKGJuc4p1F4fmnvwZeAJ6nEDTnRkRDBxf/BoXgeQD4ZkT8DbgKqJL0IjAVGB8RjW0tICKWAOOBWyS9QGFXZlMPxL4HOMoHVruX7+K1LiVpCnBvRNyRdy3WPbwlYmaZeEvEzDLxloiZZeIQMbNMHCJmlolDxMwycYiYWSYOETPL5P8BSeM6s7+8hTIAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Component Bayes Factor \n", "plt.figure(figsize=(4,3))\n", "c_bf = MF.component_bayesfactor(T.likelihood,method='AIC',format='DataFrame')\n", "pcm.vis.plot_component(c_bf,type='bf')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Base components\n", "Often, there are components in a Model family that we always want to have in our model - these can be specified as \"base components\". By default (i.e. no base components are specified), the base model will be the zero model (there are no differences between any of the patterns).\n", "In this example, we add a strong pattern that predicts that pattern 1-3 and pattern 4-6 are correlated. " ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "basecomp = np.zeros((1,6,6))\n", "basecomp[0] = np.block([[np.ones((3,3)),np.zeros((3,3))],[np.zeros((3,3)),np.ones((3,3))]])\n", "plt.imshow(basecomp[0])" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "trueModel = pcm.ComponentModel('A+B+I+basecomponent',np.r_[Gc,basecomp])\n", "\n", "# Now generate 20 data set from the full model \n", "[cond_vec,part_vec]=pcm.sim.make_design(6,8)\n", "# Interaction effect and base component are present \n", "theta = np.array([-np.inf,-np.inf,0,0])\n", "D = pcm.sim.make_dataset(trueModel,theta,\n", " signal=0.1,\n", " n_sim = 20,\n", " n_channel=20,part_vec=part_vec,\n", " cond_vec=cond_vec)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First we fit this data with a model without the base component. You will see that the base-effect mimics as the main effect A and gives us a false positive - component A is not really present." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "MF=pcm.model.ModelFamily(Gc,comp_names=['A','B','I'])\n", "# Fit the data and display the relative likelihood. \n", "T,theta=pcm.fit_model_individ(D,MF,verbose=False,fixed_effect='block',fit_scale=False)\n", "\n", "# Component Bayes Factor\n", "plt.figure(figsize=(4,3))\n", "plt.title('without base component modelled')\n", "c_bf = MF.component_bayesfactor(T.likelihood,method='AIC',format='DataFrame')\n", "pcm.vis.plot_component(c_bf,type='bf')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we are adding the base component to all the models - so all models fitted will contain this extra component. " ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "MF=pcm.model.ModelFamily(Gc,comp_names=['A','B','I'],basecomponents=basecomp)\n", "# Fit the data and display the relative likelihood. \n", "T,theta=pcm.fit_model_individ(D,MF,verbose=False,fixed_effect='block',fit_scale=False)\n", "\n", "# Component Bayes Factor\n", "plt.figure(figsize=(4,3))\n", "plt.title('with base component modelled')\n", "c_bf = MF.component_bayesfactor(T.likelihood,method='AIC',format='DataFrame')\n", "pcm.vis.plot_component(c_bf,type='bf')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now the inference is correct again. So if you have a strong correlation structure in your data that needs to be modeled (but that you do not want to draw inferences on), add it as a base component!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2: Random example with 5 partly co-linear representations\n", "In this example, we provide an example with random components that are partly overlapping with each other. \n", "We also provide a function that performs different forms of component inference." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "# Another function that makes a random feature model \n", "# using Q feature groups (components), each consisting of num_feat features. \n", "def random_design(N=10,Q=5,num_feat=2,seed=1):\n", " Gc = np.empty((Q,N,N))\n", " rng = np.random.default_rng(seed)\n", " for q in range(Q):\n", " X= rng.normal(0,1,(N,num_feat))\n", " X = X/np.sqrt(np.sum(X**2,axis=0))\n", " Gc[q,:,:]= X @ X.T\n", " M = pcm.ComponentModel('full',Gc)\n", " MF=pcm.model.ModelFamily(Gc)\n", " return M,MF" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "def component_inference(D,MF):\n", " T,theta=pcm.fit_model_individ(D,MF,verbose=False)\n", "\n", " # pcm.vis.model_plot(T.likelihood-MF.num_comp_per_m)\n", " mposterior = MF.model_posterior(T.likelihood.mean(axis=0),method='AIC',format='DataFrame')\n", " cposterior = MF.component_posterior(T.likelihood,method='AIC',format='DataFrame')\n", " c_bf = MF.component_bayesfactor(T.likelihood,method='AIC',format='DataFrame')\n", "\n", " fig=plt.figure(figsize=(18,3.5))\n", " plt.subplot(1,3,1)\n", " pcm.vis.plot_tree(MF,mposterior,show_labels=False,show_edges=True)\n", " ax=plt.subplot(1,3,2)\n", " pcm.vis.plot_component(cposterior,type='posterior')\n", " ax=plt.subplot(1,3,3)\n", " pcm.vis.plot_component(c_bf,type='bf')\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we make an example with 5 component and 10 conditions..." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# make and plot a random design \n", "N = 10\n", "Q = 5\n", "M,MF = random_design(N=N,Q=Q,seed=1)\n", "for q in range(Q):\n", " plt.subplot(1,Q,q+1)\n", " plt.imshow(M.Gc[q,:,:])\n" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1. , 0.24581198, 0.05609763, 0.3498265 , 0.42614867],\n", " [0.24581198, 1. , 0.10612771, 0.20962178, 0.24458923],\n", " [0.05609763, 0.10612771, 1. , 0.05158634, 0.3199829 ],\n", " [0.3498265 , 0.20962178, 0.05158634, 1. , 0.15116567],\n", " [0.42614867, 0.24458923, 0.3199829 , 0.15116567, 1. ]])" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Let's check the co-linearity of these particular components by looking at their correlation \n", "GG = np.reshape(M.Gc,(Q,-1)) # Flatten out \n", "np.corrcoef(GG)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this example, component 2 and 3 are relatively uncorrelated" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Now make artifical data and plot component inference \n", "# In this example, component 1 and 4 are not present \n", "theta = np.array([0,-1,-1,-1,-1])\n", "\n", "[cond_vec,part_vec]=pcm.sim.make_design(N,8)\n", "D = pcm.sim.make_dataset(M,theta,\n", " signal=0.2,\n", " n_sim = 20,\n", " n_channel=20,part_vec=part_vec,\n", " cond_vec=cond_vec)\n", "component_inference(D,MF)\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "base", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.5" } }, "nbformat": 4, "nbformat_minor": 4 }