Skip to content

Instantly share code, notes, and snippets.

@andrew-hipp
Created November 21, 2019 19:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andrew-hipp/7d59c13fca8b15870def4d2262005f24 to your computer and use it in GitHub Desktop.
Save andrew-hipp/7d59c13fca8b15870def4d2262005f24 to your computer and use it in GitHub Desktop.
Phylogenetic independent contrasts tutorial, Fall 2019
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Reading the Tree of Life\n",
"## University of Chicago, 2019<br>Andrew Hipp, ahipp@mortonarb.org\n",
"### Tutorial for 2019-11-26: Felsenstein's independent contrasts method"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Introduction to Phylogenetically Independent Contrasts\n",
"Joseph Felsenstein invented seminal tools for the fields of statistical phylogenetics (both the tools of maximum likelihood and adaptation of the bootstrap to phylogenetics) and phylogenetic comparative methods. Amazing... this from a Wisconsin-trained population geneticist (he studied with Jim Crow)! His paper on comparative methods is:\n",
"\n",
"Felsenstein J. 1985. Phylogenies and the comparative method. _American Naturalist_ 125: 1–15.\n",
"\n",
"The method he developed is called phylogenetic independent contrasts (often abbreviated PIC), and it has probably been the most influential phylogenetic comparative method. The method and the Felsenstein paper address fundamental problems in analysis of data on a phylogeny. Understanding the method will help you understand all that you do in analyzing phylogenetic comparative data.\n",
"\n",
"\n",
"## The nature of the problem\n",
"\n",
"Felsenstein points out that \"species are part of a hierarchically structured phylogeny, and thus cannot be regarded for statistical purposes as if drawn independently from the same distribution.\" He proposes a solution, independent contrasts, an easily-calculated method of taking n phylogenetically-structured data points and, under the assumption that they evolve according to a random-walk or Brownian motion process, rendering n-1 independent data points that can be analyzed using standard statistical methods, e.g. correlation or regression. \n",
"\n",
"What's the big deal? Statistically, the problem is this: the expected variance in a trait sampled on a phylogeny varies across the tree, and is a function of the amount of time that the trait has evolved independently. Stated more simply, we expect a trait to drift further in trait space the longer the branch on which it evolves. \n",
"\n",
"_Even most simply:_ two species that share an ancestor more recently are expected to look more similar than two species whose common ancestor is older. You can see what this looks like by simulating data under a random walk on a single tree of two branches. In the simulation that follows, you will start two branches at time zero with a character state of zero. You'll then let them evolve for 100 steps _in time_ -- that will be the x-axis -- and let them take at each time step a step _in trait space_ of (1) a random length and (2) a random direction -- that will be the y-axis. "
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\nIhEiAEUiRID/FRXLEArzkYwAAAAASUVORK5CYII=",
"text/plain": [
"Plot with title \"All 100 time steps\""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# first, let's make a matrix that has two columns of 100 steps each, \n",
"# starting with 0, and then adding a step drawn from a random normal value at each step:\n",
"y = cbind(leftBranch = cumsum(c(0, rnorm(99, mean = 0, sd = 0.2))),\n",
" rightBranch = cumsum(c(0, rnorm(99, mean = 0, sd = 0.2)))\n",
" )\n",
"\n",
"layout(matrix(1:2, 1)) # layout two plotting frames\n",
"\n",
"## now let's plot the first 20 steps; note that we do so by indexing the first 20 rows of our matrix\n",
"plot(1:20, y[1:20, 1], 'l', ylim = range(y), main = \"First 20 time steps\", col = 'red', lwd = 2)\n",
"lines(1:20, y[1:20, 2], col = 'black', lwd = 2)\n",
"legend('bottomleft', c('Left branch', 'Right branch'), lwd = 2, col = c('red', 'black'), bty = 'n')\n",
"\n",
"##... and we'll plot all 100 steps in the next panel\n",
"plot(1:100, y[1:100, 1], 'l', ylim = range(y), main = \"All 100 time steps\", col = 'red', lwd = 2)\n",
"lines(1:100, y[1:100, 2], col = 'black', lwd = 2)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can see that while there is no guarantee that two species that are more similar just because they are more closely related, time introduces uncertainty in their character states, and this translates into higher variance. \n",
"\n",
"#### Checkpoint Q 1.\n",
"Run and visualize the 100-step simulation 20 times, either within a local copy of R or within this notebook. Each time, take a look first at the tree, then at the last 6 steps of the resulting matrix using `tail(y)`. This command shows you the last 6 steps of time (x-axis), where the value in the cells in the trait value (the position of the branch on the y-axis) at each of those last 6 time steps. __Question 1: how many times does the left branch value come out > the right branch value? Does it match your expectation?__ "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Thus, under Brownian motion, we have two different expectations:\n",
"1. The value at the tips, which equals the root state (0 in our simulations)\n",
"1. The absolute value and variance of the difference between values at the tips, which increases with the amount of time since the tips diverged. \n",
"\n",
"Let's see what this looks like:\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"At time = 20\n",
" mean trait value at the tips = -0.01\n",
" mean trait difference between branches = 1\n",
" variance in difference between branches = 0.57\n",
"\n",
"At time = 50\n",
" mean trait value at the tips = 0.04\n",
" mean trait difference between branches = 1.61\n",
" variance in difference between branches = 1.46\n",
"\n",
"At time = 100\n",
" mean trait value at the tips = 0.06\n",
" mean trait difference between branches = 2.25\n",
" variance in difference between branches = 3.04\n",
"\n",
"At time = 1000\n",
" mean trait value at the tips = 0.39\n",
" mean trait difference between branches = 7.08\n",
" variance in difference between branches = 28.95\n",
"\n"
]
},
{
"data": {
"image/png": "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\na+rt1MzdAAAAAElFTkSuQmCC",
"text/plain": [
"plot without title"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"y.left = sapply(1:500, function(x) {\n",
" cumsum(\n",
" c(0, rnorm(999, mean = 0, sd = 0.2))\n",
" )\n",
" } ) # simulates a left branch, 500 reps of 1000 steps each, starting at trait value of 0\n",
"y.right = sapply(1:500, function(x) {\n",
" cumsum(\n",
" c(0, rnorm(999, mean = 0, sd = 0.2))\n",
" )\n",
" } ) # simulates a right branch, 500 reps of 1000 steps each, starting at trait value of 0\n",
"\n",
"y.diff <- abs(y.left - y.right) # takes the absolute difference betwen them for all reps\n",
" \n",
"for(i in c(20, 50, 100, 1000)) {\n",
" tempEndPoint <- y.diff[i, ] # grabs the tip differences for time i\n",
" message(paste('At time =', i))\n",
" message(paste(' mean trait value at the tips =', round(mean(c(y.right[i, ], y.left[i, ])), 2)))\n",
" message(paste(' mean trait difference between branches =', round(mean(tempEndPoint), 2)))\n",
" message(paste(' variance in difference between branches =', round(var(tempEndPoint), 2)))\n",
" message('')\n",
" }\n",
"\n",
"plot(1:1000, apply(y.diff, 1, var), type = 'l', lwd = 2, \n",
" xlab = 'Time (steps)', ylab = 'Variance in differences at the tips')"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"Because the variance in tip states increases over time, the expectation of traditional statistical methods is violated. This is the rationale behind Felsenstein's independent contrasts method: it is a method for correcting unequal variances in data points, so that we can use traditional statistics."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Simulating data and using Felsenstein's PIC\n",
"First, start up ape and make a new tree and dataset. Let's simulate a condition similar to Felsenstein's worst-case scenario, with long branches leading to a couple of short-branched clades, 40 tips"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Loading required package: ape\n",
"Loading required package: maps\n",
"Registered S3 method overwritten by 'geiger':\n",
" method from\n",
" unique.multiPhylo ape \n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAAASFBMVEUAAAAfHx8uLi4+Pj5N\nTU1iYmJoaGh8fHyAgICEhISMjIyOjo6RkZGampqnp6eysrK9vb3Hx8fQ0NDZ2dnh4eHp6enw\n8PD////TMUKbAAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nO3di5baPHeAYbV17ZYp\nhmHAvv87LZJ8EJYdmPH2lg/vs1YT/uRLcFf8LsBoy6YGMJtJfQDAHhASIICQAAGEBAggJEAA\nIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAA\nIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAA\nIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAA\nIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAA\nIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAA\nIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAA\nIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQsAuPsn10PqV4\nfkLCHtxMG9LZXFMcACFhD0pzcz/fc2N+UhwAIWEPclM9f6xK81SlOABCwg7YfozNyVxMmlOa\nkLADTUjFtbqbJNcaCAkbYqbUJmv+k29zSXNoSZ4V+IvJs7V/HSrNt9LBvCIkbMfk2frdXfM+\nmbvSwbwiJGzH5Nl66a55J7rWQEjYkMmz9dRe836YQutgXhEStmPybM3aaw03c1Y6lgFCwnZM\nna1V9zp0TbNAiJCwJVNn692Y5mJdqmsNhIQNmTxby3aFXZZmgRAhYUv+cbbGYxRlZnK99auE\nhO2YPlujMYpH5pY8qL3RIySsXrAUaEo0RlGY4l5/613DIySsnokeRIZjFFeT218+qZ3fhITV\nex9SNEaRNa9QaggJq/dxSN0YxY/J7s83d4qzsoSE1ZsOaWqM4mJy3WsNhIT1+0dIzc/DMYqT\n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\nbNdYSG71d2mvNCiu+B4/qGM9N7ZrJCR/5cHfo++Ae38DfxGfvf6X3e9UxwsJ+IsgpC4tt4bB\nzfRdCQn4xMg561d/n8y5vmdJ7nxJSNickXPWr/7+sS9OxfGu2gF/MXLONqu/b1l2K453Nwrg\nL0bO2W71d6prDYSEzRk5Z93qb/c5KdH3sYSEzYnPWb/62y5YvZoDblkM/EV8zvrV3+5aQ5pP\nSISE7Rk5Z/0m+rfMFHf943EICVszes76TfSvuclUpyc6hIStGTtn/RiF27FYdZ6vQ0jYmrFz\n1o1R3Ex2q6vCb9ugjJCwNWPnrBuj8JudpPkmiZCwNSPnrF+5ejo1/0P5gNyTJnhOYI7JkLyf\nJKtWCQlbMzahFGwFmSe5HTMhYQf6TfQfrP4G/qrbRP+eJVraQEjYgXYT/ZvdRygJQsIONGMU\n36ZIs2SVkLALfhP97yRfxXqEhO3zYxRVmt0aPELC9vkxirK5Fq53U6QAIWEH3BhF3oSkdt/Y\nECEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRA\nACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRA\nACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRA\nACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRA\nACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRA\nACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRA\nACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRA\nACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRA\nACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAv4fxeOm2+4nT0QAAAAASUVORK5CYII=",
"text/plain": [
"plot without title"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"library(phytools)\n",
"library(geiger)\n",
"tr <- pbtree(n=40) # a pure birth tree, because it's easy\n",
"# and we'll make it have internal branches by transforming it using a branch scalar from Pagel 1999:\n",
"tr <- rescale(tr, 'delta', 0.05)\n",
"plot(tr) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can rerun that simulation a handful of times if you like to see what the trees look like. Now, let's simulate two characters on the phylogeny. We'll simulate first the case where there is no actual correlation between the characters. We do this by using a function called `sim.char` from the geiger package, which takes a variance matrix: the diagonal of the variance matrix contains the variance for each character separately, which we'll set to 1.0; the off-diagonal elements are the covariances between the two characters, which we'll set to 0."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" [,1] [,2]\n",
"[1,] 1 0\n",
"[2,] 0 1\n"
]
}
],
"source": [
"characterVarMatrix <- matrix(c(1,0,0,1), 2, byrow = T)\n",
"print(characterVarMatrix)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we'll use this variance matrix to simulate characters on the tree and plot them in space, with phylogenetic branches between the biplot points. Recall that the total variance in each character is a function of the branch lengths."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\nAAAAAElFTkSuQmCC",
"text/plain": [
"plot without title"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# a correlated pair of characters on a phylogeny:\n",
"xy <- sim.char(tr, characterVarMatrix)[,,1]\n",
"dimnames(xy)[[2]] <- c('x', 'y')\n",
"\n",
"layout(matrix(1:2, 1, 2))\n",
"fancyTree(tr, \"contmap\", x = xy[, 1])\n",
"phylomorphospace(tr, xy, label = 'horizontal', cex = 0.5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This shows what phylogenetically autocorrelated data look like. Can you identify the clades from the character data alone? Recall that we simulated data with no real correlation. Because the data points on this tree are not independent---close relatives are similar because they have a recent common ancestor---the independence assumption underlying essentially all traditional statistical methods is violated. If you simply regress x on y:"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Call:\n",
"lm(formula = y ~ x, data = as.data.frame(xy))\n",
"\n",
"Residuals:\n",
" Min 1Q Median 3Q Max \n",
"-1.7976 -0.3619 -0.0224 0.5590 1.1367 \n",
"\n",
"Coefficients:\n",
" Estimate Std. Error t value Pr(>|t|) \n",
"(Intercept) 4.3006 0.1810 23.755 < 2e-16 ***\n",
"x -1.3408 0.1686 -7.952 1.32e-09 ***\n",
"---\n",
"Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n",
"\n",
"Residual standard error: 0.6955 on 38 degrees of freedom\n",
"Multiple R-squared: 0.6247,\tAdjusted R-squared: 0.6148 \n",
"F-statistic: 63.24 on 1 and 38 DF, p-value: 1.316e-09\n",
"\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAAAMFBMVEUAAABNTU1oaGh8fHyM\njIyampqnp6eysrK9vb3Hx8fQ0NDZ2dnh4eHp6enw8PD////QFLu4AAAACXBIWXMAABJ0AAAS\ndAHeZh94AAAY9ElEQVR4nO3diXbaSBRAQeEtTsaG///b8W52kHi9V50ziccJbiT1jVqCONMG\nuNlU+glAD4QEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQE\nAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQE\nAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQE\nAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQE\nAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQE\nAYQEAYQEAYQEAYQEAYQEAYQEAYQEAYQEATKENEFjFszy+HBOD7HkCUJ2tYdkJUkT6g9JSTSg\ngZAs76hfCyE5KVG9NkJSEpVrJCTLO+rWSkhOSlStnZCURMUaCsnyjnq1FJKTEtVqKyQlUanG\nQrK8o06theSkRJXaC0lJVKjBkCzvqE+LITkpUZ02Q1ISlWk0pELLu0V/o5gRtBpSiZPSR0VS\n4ph2Q8pf0lRmWFrQcEi5Tw7T3s/wq+WQMs9pIXFa2yFlndRC4rTGQ8q6vHONxEmth5RzYrtr\nx0nth5TzFOF1JE7oICSLLcrrISTLLYrrIiQnJUrrJCQlUVYvIVneUVQ3ITkpUVJHISmJcnoK\nyfKOYroKyUmJUjoLSUmU0VtIlncU0V1ITkqU0GFISiK/HkOyvCO7LkNyUiK3TkNSEnn1GpLl\nHVl1G5KTEjl1HJKSyKfnkCzvyKbrkJyUyKXzkJREHr2HZHlHFt2H5KREDgOEpCTSGyEkyzuS\nGyIkJyVSGyQkJZHWKCFZ3pHUMCE5KZHSQCEpiXRGCsnyjmSGCslJiVQGC0lJpDFaSJZ3JDFc\nSE5KpDBgSEoi3ogh5S/Jv4bevSFDynyh9DGalPo2Zkh5T0pT9hHJrkhIF/907qLV/ZGU1LNh\n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\n+zOzt6i2kO4/9tTdmU8kGuglXUgvu1811RbtD5Rsi54+vuzqd5ql2qL9gZJt0erjy26VNH+L\nKgvpv2n1snlZTf+d/ESqgV6mh+Ahfr7yaufQp9qig4FSbdHL9Lh+P/k9fn8i1RYdDJRqi57e\nh3ja+uILtqiykJ6mf28//p3+nPxEqoGew4f4+cL3O/M71RYdDJRqix4+B/kdK9UWHQyUaotW\n03pnnCVbVFlID9PrZudPnoNPpBroeXoOHuLL9LTZmd+ptuhgoGRb9DXcz1jJtmh/oLRbNK1+\nPlywRZWFNO3/IXTwiVQDPUz/Ht+uL4OHefOy9+xTbdHBQMm26MN6uv/+MNkW7Q+UdIuetipd\nsEVC+vLweR17f/IRtw92YuRUA6Xcovezw7+9UROFtDVQwi36O01bgQrploH+vv3p95Rk8VAm\npJRbtHld/S57koa0O1CyLXp+WG1dEQlp+UCf1kluS5cJ6VOaLVqvtk4LKbdoZ6CvTyXZos3m\n8TfQ9kNa7W/BwSdSDfQl/fxOtUWnvmiSge6353LKLbo/Ek2yi7Gfuw0LtqiykD5vl7zu37V7\nTXTX7vDr5rh0SbNFBwOd+dyNXu/uX7f+N90W7Q30JVFIB/chZ21RZSH9+biy/Pd74XfwiVQD\nfb6WkGF+p9qig4GSbdG/vcv9ZFu0P1CqLfr+uj9nvwVbVFlI5d7Z8PS+19ZPv7eIAmV6Z8Pe\nQKm26HX/tlmqLToYKNUWfbyzYf3we43U/jsbNne/Nzg/Z8Vdojue+wOtP99vleRFiu/5nXaL\n9gdKtUWP0+9b3pJu0cFAyY7R6vZZV1tI64+33X58+LlJW59IP9BdmlfOd0NKtUVHB0qwRdNB\nSIm26PhASY7R79ddukW1hQRNEhIEEBIEEBIEEBIEEBIEEBIEEBIEEBIEEBIEEBIEEBIEEBIE\nEBIEEBIEEBIEEBIEEBIEEBIEEBIEEBIEEBIEEBIEEBIEEBIEEBIEEBIEEBIEEBIEEBIEEBIE\nEBIEEBIEEBIEEBIEEBIEEBIEEFKT7qf/3n78b3os/UT4IqQmvU6rtx9Xq3XpJ8IXIbXpefqz\n+TP9Lf00+CakRt1Pz9ND6SfBDyE16nWaptfST4IfQmrV0/RU+inwS0iNckaqi5Aa9fB2jXRf\n+knwQ0ht+vu2sPszPZd+GnwTUpPWq4/XkSzuqiGkJj1+vbPB4q4WQoIAQoIAQoIAQoIAQoIA\nQoIAQoIAQoIAQoIAQoIAQoIAQoIAQoIAQoIAQoIAQoIAQoIAQoIAQoIAQoIAQoIAQoIAQoIA\nQoIAQoIAQoIAQoIAQoIAQoIAQoIAQoIA/wO+i0Iuiwz/xAAAAABJRU5ErkJggg==",
"text/plain": [
"plot without title"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot(xy)\n",
"abline(lm(y ~ x, as.data.frame(xy)))\n",
"print(summary(lm(y ~ x, as.data.frame(xy))))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"... you may infer that there is a strong, significant correlation between x and y, even if there is none. (Take a look at the regression results in the output above; the p-value for the regression slope is the `Pr(>|t|)` value for `x`.) \n",
"\n",
"#### Checkpoint 2:\n",
"Rerun the simulation 20 times, and report how many times you get a p-value for `x` of <0.05. An unbiased p-value should show significance at this level on average once per 20 simulations. __Question 2: How many significant p-values (p < 0.05) do you get out of 20 simulations?__"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"But having read Felsenstein (1985), you know that this is potentially spurius. While ordinary least squared regression or correlation gives an unbiased estimate of the relationship between two variables, the confidence interval on that estimate is generally biased downward, and the p-values are typically too small.\n",
"\n",
"So how do we correct this? Let's use Felsentein's independent contrasts. We'll use the `pic` function from the ape package."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\nyGx4ykImyLIL3g3dpYqUx36md/5ztmG4frbkRM9wg6Xvf0u6Vud2UfRzFbptvop69uU1nrV7\nOc5eTczaORX5SrOXbIk144lAgSLFsUX6vTv264+ytqSCdbN269K1UqSF0c9V6Lb5Kq7VaO7e\nj2E/FmzCypl7kffR5I17ifVJmVd/al7mfe/JR8i/GGdtCUt39i3pWifSlujHFboWsIJdrmwY\n5cy5yNc4p0JXNuSnfsCh5MqGYcg/+MjaEva7smGlSJuiH1foXMIK0uq4XgVdv9HBgu3YPQXX\nIs/GdN0PqSCTXd73riTrIhxmbTGL196QrlWRbIp+XKHDtqvJq6t463rNaMF2bJFcizSDpIoF\nWZSQ3gSD9EAf8hLMriJtSNfKmQllIhESKxSJEAEoEiECUCRCBKBIhAhAkQgRgCIRIgBFIkQA\nikSIABSJEAEoEiECUCRCBKBIhAhAkQgRgCIRIgBFIkQAikSIABSJEAEoEiECUCRCBKBIhAhA\nkQgRgCIRIgBFIkQAikSIABSJEAEoEiECUCRCBKBIhAhAkQgRgCIRIgBFIkQAikSIABTpQEw9\nks7hMXX3VWVuq+j7Vvflhfxe9eca+dnMPwyaIh0IWZFSs6pMYZHS5cX9XvX3GidjzHVuBYp0\nIGRFWrmlsEgrivu96pI1Xj9WWBwOUQ9F2m+NQ4iUmUfx/8OcQwcSgmIXuDTPBK9fXt+5Sas/\nlT/rPeSWds8wvyTFYKBbmtzqDV+ncsPhwuYx4PWaxUbZa1iltcl0kV1YXyqaDWT0EPK+/u6d\njFc1Jk/NqRgOFb20pt57Zkx27wtrf+9oCxs+8/zLznQIkV4mKf5Pkjx0ICEo+vblXpBVL8uu\nvrkVPf5yZ3j/Fd3+av/ITLtK/fJcLT2ZfsPENIOEbuFQpGqjPr318m6T6q+njyK7sKYr+rJV\n83dbpL7+7OuqVWGX97WWojTpVr+8tWt0v1vFdu+1qe7LznQIkYoUXYsM/oUOIwjFDvV8P5Py\n3Rc7RV7kIn3f68/Tc9HxL/ePv36Ve/PSlC+LtfPM3Acb2gvr4svti4Xnflar3m/bTf6+FDmo\nc6Kib1u1fx8ej/r6/ybebBdollc//srVykWJeZYvuzX639tiu8KG1U3vTMcQqfhsuZWH9SNi\nyh2w2BlP5cvHu94nUlPtVM0+dGpWyfqX1dJyndze0Fr47hY+ymVJX6W9yWOyyC6sLxVNb/Xo\nyu/fYl//4J2MV61/H0TYhND9Ovi9LbYrzKpucmc6iEgv83PaJVaaXWC4R9WfqkU//2rtlB8v\njem6RT8Wflb58dfJrX+WuajO/vXkm+1fVbzu16z65VL09p7P/m/97x+FWdVN7kwHEalI0uzp\ntIiZ3Leqj+9ruTscTqSsH/Bcy1FU8ur+1v3+UZj9Fqd2poOIxCPSaI+6FN2WNH1P7LTjl30Z\nSxZO1DVX5M8yF9W5RqSzSW/3V7vF/ZJaA67m94/CeERqOBXd2ix0EGEwzWDjbO1RT5M9q8mx\n8rfTcLwyGCPd+zLe1qqjhdnkGMne5PGxdRfWTEWfW9nl12QfY6TTV5GqH6/B1t+tHBRmrTG5\nMx1DpL9q3vP2e8UIaafH7vYelZqk+lgtf5uetauWvm/2TmktbLe/lRNil/GsXfvqW5FdWJMV\n/QpkeFDo67dm7exVO5Ee72c9RkrrCby0XaP/vebLrN30znQIkfKkmvo/ZufOmPqMzNsWqTjo\npN1v4/NIZrC0H0OMFqamPAb0C8fnkbpNqtNA548iu7CmK/qyVfv3uvaG6fNI9qqNCpfm/T2q\nSfDmVb1G//uw2DotvUhfdqZDiHRuTkYfsnNX7AKn7mR//3/eXIRZ/3ZLhlc2ZI9mabGDnV+j\nDbuFj7TfP8sJr/GVDf0mV+saha7IU1fnZEVftmr+r2tv6evv3sl41VaFws3sUffXqisZHt1b\n6X9v6dPSi/RlZzqESIdmPBPQcJ+dfdn/M+dLWGqJ7O2QD77ssdn0kLE68Z+f9j9ZQJGILib3\n2Lbr/0FzKVoy+UdJKBLRxeQem3y9YOpWjBNSDyevKRIh5AOKRIgAFIkQASgSIQJQJEIEoEiE\nCECRCBGAIhEiAEUiRACKRIgAFIkQASgSIQJQJEIEoEiECECRCBGAIhEiAEUiRACKRIgAFIkQ\nASgSIQJQJEIEoEiECECRCBGAIhEiAEUiRACKRIgAFIkQAf4BX+ud1tJ9Vd4AAAAASUVORK5C\nYII=",
"text/plain": [
"Plot with title \"normalized contrasts\""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"xy.pic <- cbind(x = pic(xy[, 'x'], tr),\n",
" y = pic(xy[, 'y'], tr)\n",
" )\n",
"layout(matrix(1:2, 1))\n",
"plot(xy, main = \"raw data\")\n",
"plot(xy.pic, main = \"normalized contrasts\", xlab= 'phylogenetic independent contrasts of x', \n",
" ylab= 'phylogenetic independent contrasts of y')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Just for fun, let's compare the correlation between the raw xy data, without correcting the variances using Felsenstein's method; then the independent contrasts, which have normalized variances. Recall that we simulated these data with no actual correlation between them. We'll use the `cor.test` function that is in the base stats package of R."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"RAW DATA CORRELATION\n"
]
},
{
"data": {
"text/plain": [
"\n",
"\tPearson's product-moment correlation\n",
"\n",
"data: xy[, \"x\"] and xy[, \"y\"]\n",
"t = -7.9525, df = 38, p-value = 1.316e-09\n",
"alternative hypothesis: true correlation is not equal to 0\n",
"95 percent confidence interval:\n",
" -0.8841771 -0.6352443\n",
"sample estimates:\n",
" cor \n",
"-0.7903547 \n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"PIC CORRELATION\n"
]
},
{
"data": {
"text/plain": [
"\n",
"\tPearson's product-moment correlation\n",
"\n",
"data: xy.pic[, \"x\"] and xy.pic[, \"y\"]\n",
"t = 0.1471, df = 37, p-value = 0.8839\n",
"alternative hypothesis: true correlation is not equal to 0\n",
"95 percent confidence interval:\n",
" -0.293581 0.337121\n",
"sample estimates:\n",
" cor \n",
"0.02417542 \n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"message('RAW DATA CORRELATION')\n",
"cor.test(xy[, 'x'], xy[, 'y'])\n",
"message('PIC CORRELATION')\n",
"cor.test(xy.pic[, 'x'], xy.pic[, 'y'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Checkpoint 3\n",
"__Question 3: Simulate data 20 times and run the correlations above. What percentage of the time is the PIC correlation significant at the p < 0.05 level? What percentage of the time is the raw data correlation significant at the p < 0.05 level?__"
]
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "R",
"language": "R",
"name": "ir"
},
"language_info": {
"codemirror_mode": "r",
"file_extension": ".r",
"mimetype": "text/x-r-source",
"name": "R",
"pygments_lexer": "r",
"version": "3.6.1"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment