##Data Analysis #2
## 'data.frame': 1036 obs. of 10 variables:
## $ SEX : Factor w/ 3 levels "F","I","M": 2 2 2 2 2 2 2 2 2 2 ...
## $ LENGTH: num 5.57 3.67 10.08 4.09 6.93 ...
## $ DIAM : num 4.09 2.62 7.35 3.15 4.83 ...
## $ HEIGHT: num 1.26 0.84 2.205 0.945 1.785 ...
## $ WHOLE : num 11.5 3.5 79.38 4.69 21.19 ...
## $ SHUCK : num 4.31 1.19 44 2.25 9.88 ...
## $ RINGS : int 6 4 6 3 6 6 5 6 5 6 ...
## $ CLASS : Factor w/ 5 levels "A1","A2","A3",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ VOLUME: num 28.7 8.1 163.4 12.2 59.7 ...
## $ RATIO : num 0.15 0.147 0.269 0.185 0.165 ...
(1)(a) Form a histogram and QQ plot using RATIO. Calculate skewness and kurtosis using ‘rockchalk.’ Be aware that with ‘rockchalk’, the kurtosis value has 3.0 subtracted from it which differs from the ‘moments’ package.
## Skewness (base R) : 0.7147056
## Skewness (rockchalk) : 0.7147056
## Kurtosis (base R) : 1.667298
## Kurtosis (rockchalk) : 4.667298
(1)(b) Tranform RATIO using log10() to create L_RATIO (Kabacoff Section 8.5.2, p. 199-200). Form a histogram and QQ plot using L_RATIO. Calculate the skewness and kurtosis. Create a boxplot of L_RATIO differentiated by CLASS.
## Using rockchalk to calculate skewness and kurtosis [L_RATIO]
## Skewness: -0.09391548
## Kurtosis: 3.535431
(1)(c) Test the homogeneity of variance across classes using bartlett.test() (Kabacoff Section 9.2.2, p. 222).
##
## Bartlett test of homogeneity of variances
##
## data: mydata$RATIO and mydata$CLASS
## Bartlett's K-squared = 21.49, df = 4, p-value = 0.0002531
##
## Bartlett test of homogeneity of variances
##
## data: mydata$L_RATIO and mydata$CLASS
## Bartlett's K-squared = 3.1891, df = 4, p-value = 0.5267
Essay Question: Based on steps 1.a, 1.b and 1.c, which variable RATIO or L_RATIO exhibits better conformance to a normal distribution with homogeneous variances across age classes? Why?
Answer: (L_Ratio demonstrates a better conformance to a normal distribution with homogeneous variances across age classes because skewness is closer to zero as seen in the histogram. The QQ and boxplots exhibit a more even distribution and it’s bartlett’s K-Squared value is much smaller as well. We are unable to determine if there is any variability across class in L_RATIO.)
(2)(a) Perform an analysis of variance with aov() on L_RATIO using CLASS and SEX as the independent variables (Kabacoff chapter 9, p. 212-229). Assume equal variances. Perform two analyses. First, fit a model with the interaction term CLASS:SEX. Then, fit a model without CLASS:SEX. Use summary() to obtain the analysis of variance tables (Kabacoff chapter 9, p. 227).
## Df Sum Sq Mean Sq F value Pr(>F)
## CLASS 4 1.055 0.26384 38.370 < 2e-16 ***
## SEX 2 0.091 0.04569 6.644 0.00136 **
## CLASS:SEX 8 0.027 0.00334 0.485 0.86709
## Residuals 1021 7.021 0.00688
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Df Sum Sq Mean Sq F value Pr(>F)
## CLASS 4 1.055 0.26384 38.524 < 2e-16 ***
## SEX 2 0.091 0.04569 6.671 0.00132 **
## Residuals 1029 7.047 0.00685
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Essay Question: Compare the two analyses. What does the non-significant interaction term suggest about the relationship between L_RATIO and the factors CLASS and SEX?
Answer: (Adding The non-significant interaction term did little to impact L_RATIO and therefore was not significant in the relationship of CLASS and Sex being factors on L_RATIO. This makes the interaction between class and sex, important individually, not a factor in it’s correlation to one and other.)
(2)(b) For the model without CLASS:SEX (i.e. an interaction term), obtain multiple comparisons with the TukeyHSD() function. Interpret the results at the 95% confidence level (TukeyHSD() will adjust for unequal sample sizes).
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = L_RATIO ~ CLASS + SEX, data = mydata)
##
## $CLASS
## diff lwr upr p adj
## A2-A1 -0.01248831 -0.03876038 0.013783756 0.6919456
## A3-A1 -0.03426008 -0.05933928 -0.009180867 0.0018630
## A4-A1 -0.05863763 -0.08594237 -0.031332896 0.0000001
## A5-A1 -0.09997200 -0.12764430 -0.072299703 0.0000000
## A3-A2 -0.02177176 -0.04106269 -0.002480831 0.0178413
## A4-A2 -0.04614932 -0.06825638 -0.024042262 0.0000002
## A5-A2 -0.08748369 -0.11004316 -0.064924223 0.0000000
## A4-A3 -0.02437756 -0.04505283 -0.003702280 0.0114638
## A5-A3 -0.06571193 -0.08687025 -0.044553605 0.0000000
## A5-A4 -0.04133437 -0.06508845 -0.017580286 0.0000223
##
## $SEX
## diff lwr upr p adj
## I-F -0.015890329 -0.031069561 -0.0007110968 0.0376673
## M-F 0.002069057 -0.012585555 0.0167236690 0.9412689
## M-I 0.017959386 0.003340824 0.0325779478 0.0111881
Additional Essay Question: first, interpret the trend in coefficients across age classes. What is this indicating about L_RATIO? Second, do these results suggest male and female abalones can be combined into a single category labeled as ‘adults?’ If not, why not?
Answer: (The trend in coefficients across age classes appears to be negative and a negative correlation between L_RATIO and class is assumed. At the 95% confidence level, we can see there is a statistical significance, across all classes. A2-A1 is an outlier in this with a much higher P-value of .69 relative to the rest of the classes not exceeding .02. Since M-F has a high p-value of .94, relative to Male to Infant at .01, we can assume that gender in adult ablones is insignificant, and can be analyzed as adult abalones with the same consistency.)
(3)(a1) We combine “M” and “F” into a new level, “ADULT”. (While this could be accomplished using combineLevels() from the ‘rockchalk’ package, we use base R code because many students do not have access to the rockchalk package.) This necessitated defining a new variable, TYPE, in mydata which had two levels: “I” and “ADULT”.
##
## Check on definition of TYPE object (should be an integer): integer
##
## mydata$TYPE is treated as a factor: TRUE
##
## ADULT I
## F 326 0
## I 0 329
## M 381 0
(3)(a2) Present side-by-side histograms of VOLUME. One should display infant volumes and, the other, adult volumes.
Essay Question: Compare the histograms. How do the distributions differ? Are there going to be any difficulties separating infants from adults based on VOLUME?
Answer: (Adult abalones are more normally distributed with a much wider range in volume about <1000. Infant abalones are skewed negatively to the right with a smaller range in volume. Mean, Median, and mode for the infants are all significantly smaller than adults, which should not create any difficulty in separating them based on volume alone.)
(3)(b) Create a scatterplot of SHUCK versus VOLUME and a scatterplot of their base ten logarithms, labeling the variables as L_SHUCK and L_VOLUME. Please be aware the variables, L_SHUCK and L_VOLUME, present the data as orders of magnitude (i.e. VOLUME = 100 = 10^2 becomes L_VOLUME = 2). Use color to differentiate CLASS in the plots. Repeat using color to differentiate by TYPE.
Additional Essay Question: Compare the two scatterplots. What effect(s) does log-transformation appear to have on the variability present in the plot? What are the implications for linear regression analysis? Where do the various CLASS levels appear in the plots? Where do the levels of TYPE appear in the plots?
Answer: (The immediate difference in the scatterplot is the lack of variability in the logarithmic version. It appears more closely fitted to the regression as a result, allowing for a more logical trend in how weight increases with shuck increase, helping to strengthen the linear regression for both Class and Sex. For classes on the scatterplot, we see A1-2 at the bottom left, A3 in the center of the graph, and A4+A5 in the top right of the plot, indicating this relationship that older abalones weigh more.)
(4)(a1) Since abalone growth slows after class A3, infants in classes A4 and A5 are considered mature and candidates for harvest. Reclassify the infants in classes A4 and A5 as ADULTS. This reclassification could have been achieved using combineLevels(), but only on the abalones in classes A4 and A5. We will do this recoding of the TYPE variable using base R functions. We will use this recoded TYPE variable, in which the infants in A4 and A5 are reclassified as ADULTS, for the remainder of this data analysis assignment.
##
## Check on redefinition of TYPE object (should be an integer): integer
##
## mydata$TYPE is treated as a factor: TRUE
##
## Three-way contingency table for SEX, CLASS, and TYPE:
## , , = ADULT
##
##
## A1 A2 A3 A4 A5
## F 5 41 121 82 77
## I 0 0 0 21 19
## M 12 62 143 85 79
##
## , , = I
##
##
## A1 A2 A3 A4 A5
## F 0 0 0 0 0
## I 91 133 65 0 0
## M 0 0 0 0 0
(4)(a2) Regress L_SHUCK as the dependent variable on L_VOLUME, CLASS and TYPE (Kabacoff Section 8.2.4, p. 178-186, the Data Analysis Video #2 and Black Section 14.2). Use the multiple regression model: L_SHUCK ~ L_VOLUME + CLASS + TYPE. Apply summary() to the model object to produce results.
##
## Call:
## lm(formula = L_SHUCK ~ L_VOLUME + CLASS + TYPE, data = mydata)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.270634 -0.054287 0.000159 0.055986 0.309718
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.796418 0.021718 -36.672 < 2e-16 ***
## L_VOLUME 0.999303 0.010262 97.377 < 2e-16 ***
## CLASSA2 -0.018005 0.011005 -1.636 0.102124
## CLASSA3 -0.047310 0.012474 -3.793 0.000158 ***
## CLASSA4 -0.075782 0.014056 -5.391 8.67e-08 ***
## CLASSA5 -0.117119 0.014131 -8.288 3.56e-16 ***
## TYPEI -0.021093 0.007688 -2.744 0.006180 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.08297 on 1029 degrees of freedom
## Multiple R-squared: 0.9504, Adjusted R-squared: 0.9501
## F-statistic: 3287 on 6 and 1029 DF, p-value: < 2.2e-16
Essay Question: Interpret the trend in CLASS level coefficient estimates? (Hint: this question is not asking if the estimates are statistically significant. It is asking for an interpretation of the pattern in these coefficients, and how this pattern relates to the earlier displays).
Answer: (The trend in CLASS level coefficient estimates is that correlation strengths the higher the classes. ClassA2 is -.01 going up to ClassA5 being -.11.)
Additional Essay Question: Is TYPE an important predictor in this regression? (Hint: This question is not asking if TYPE is statistically significant, but rather how it compares to the other independent variables in terms of its contribution to predictions of L_SHUCK for harvesting decisions.) Explain your conclusion.
Answer: (TYPE is an important predictor in this regression for ClassA2 by itself, but it’s worse for the subsequent classes of A3-A5. Therefore it’s a poor predictor of CLASS and L_Shuck as a whole.)
The next two analysis steps involve an analysis of the residuals resulting from the regression model in (4)(a) (Kabacoff Section 8.2.4, p. 178-186, the Data Analysis Video #2).
(5)(a) If “model” is the regression object, use model$residuals and construct a histogram and QQ plot. Compute the skewness and kurtosis. Be aware that with ‘rockchalk,’ the kurtosis value has 3.0 subtracted from it which differs from the ‘moments’ package.
## Using rockchalk to calculate skewness and kurtosis [model$residuals]
## Skewness: -0.05945234
## Kurtosis: 3.343308
(5)(b) Plot the residuals versus L_VOLUME, coloring the data points by CLASS and, a second time, coloring the data points by TYPE. Keep in mind the y-axis and x-axis may be disproportionate which will amplify the variability in the residuals. Present boxplots of the residuals differentiated by CLASS and TYPE (These four plots can be conveniently presented on one page using par(mfrow..) or grid.arrange(). Test the homogeneity of variance of the residuals across classes using bartlett.test() (Kabacoff Section 9.3.2, p. 222).
##
## Bartlett test of homogeneity of variances
##
## data: RESIDUALS by CLASS
## Bartlett's K-squared = 3.6882, df = 4, p-value = 0.4498
Essay Question: What is revealed by the displays and calculations in (5)(a) and (5)(b)? Does the model ‘fit’? Does this analysis indicate that L_VOLUME, and ultimately VOLUME, might be useful for harvesting decisions? Discuss.
Answer: (The calculations in 5a and 5b are that skewness and kurtosis are low indicating a normal distribution. There is a lot of clarity to the right of the scatterplot. The higher the class, the larger the volume. There is a high p-value in the bartlett test, higher than the alpha, indicating a fairly homogeneous sample. The absolute value of the residual is within .1 across classes indicating homogenity. All of this indicates the model is a good fit and volume is a useful indicator for harvesting.)
There is a tradeoff faced in managing abalone harvest. The infant population must be protected since it represents future harvests. On the other hand, the harvest should be designed to be efficient with a yield to justify the effort. This assignment will use VOLUME to form binary decision rules to guide harvesting. If VOLUME is below a “cutoff” (i.e. a specified volume), that individual will not be harvested. If above, it will be harvested. Different rules are possible.
The next steps in the assignment will require consideration of the proportions of infants and adults harvested at different cutoffs. For this, similar “for-loops” will be used to compute the harvest proportions. These loops must use the same values for the constants min.v and delta and use the same statement “for(k in 1:10000).” Otherwise, the resulting infant and adult proportions cannot be directly compared and plotted as requested. Note the example code supplied below.
(6)(a) A series of volumes covering the range from minimum to maximum abalone volume will be used in a “for loop” to determine how the harvest proportions change as the “cutoff” changes. Code for doing this is provided.
## [1] 133.8199
## [1] 384.5138
(6)(b) Present a plot showing the infant proportions and the adult proportions versus volume.value. Compute the 50% “split” volume.value for each and show on the plot.
Essay Question: The two 50% “split” values serve a descriptive purpose illustrating the difference between the populations. What do these values suggest regarding possible cutoffs for harvesting?
Answer: (The median for adults is much larger than the infants, indicating a sense of clarity between adults and infants. The value suggests the chance of harvesting an infant when trying for an adult is pretty low.)
This part will address the determination of a volume.value corresponding to the observed maximum difference in harvest percentages of adults and infants. To calculate this result, the vectors of proportions from item (6) must be used. These proportions must be converted from “not harvested” to “harvested” proportions by using (1 - prop.infants) for infants, and (1 - prop.adults) for adults. The reason the proportion for infants drops sooner than adults is that infants are maturing and becoming adults with larger volumes.
(7)(a) Evaluate a plot of the difference ((1 - prop.adults) - (1 - prop.infants)) versus volume.value. Compare to the 50% “split” points determined in (6)(a). There is considerable variability present in the peak area of this plot. The observed “peak” difference may not be the best representation of the data. One solution is to smooth the data to determine a more representative estimate of the maximum difference.
(7)(b) Since curve smoothing is not studied in this course, code is supplied below. Execute the following code to create a smoothed curve to append to the plot in (a). The procedure is to individually smooth (1-prop.adults) and (1-prop.infants) before determining an estimate of the maximum difference.
(7)(c) Present a plot of the difference ((1 - prop.adults) - (1 - prop.infants)) versus volume.value with the variable smooth.difference superimposed. Determine the volume.value corresponding to the maximum smoothed difference (Hint: use which.max()). Show the estimated peak location corresponding to the cutoff determined.
(7)(d) What separate harvest proportions for infants and adults would result if this cutoff is used? Show the separate harvest proportions (NOTE: the adult harvest proportion is the “true positive rate” and the infant harvest proportion is the “false positive rate”).
Code for calculating the adult harvest proportion is provided.
## Adult harvest proportion (true positive) : 0.7416
## Infant harvest proportion (false positive): 0.1765
There are alternative ways to determine cutoffs. Two such cutoffs are described below.
(8)(a) Harvesting of infants in CLASS “A1” must be minimized. The smallest volume.value cutoff that produces a zero harvest of infants from CLASS “A1” may be used as a baseline for comparison with larger cutoffs. Any smaller cutoff would result in harvesting infants from CLASS “A1.”
Compute this cutoff, and the proportions of infants and adults with VOLUME exceeding this cutoff. Code for determining this cutoff is provided. Show these proportions.
## Adult harvest proportion (true positive) : 0.8260
## Infant harvest proportion (false positive): 0.2872
(8)(b) Another cutoff is one for which the proportion of adults not harvested equals the proportion of infants harvested. This cutoff would equate these rates; effectively, our two errors: ‘missed’ adults and wrongly-harvested infants. This leaves for discussion which is the greater loss: a larger proportion of adults not harvested or infants harvested? This cutoff is 237.7383. Calculate the separate harvest proportions for infants and adults using this cutoff. Show these proportions. Code for determining this cutoff is provided.
## [1] 237.6391
## Adult harvest proportion (true positive) : 0.7818
## Infant harvest proportion (false positive): 0.2180
(9)(a) Construct an ROC curve by plotting (1 - prop.adults) versus (1 - prop.infants). Each point which appears corresponds to a particular volume.value. Show the location of the cutoffs determined in (7) and (8) on this plot and label each.
(9)(b) Numerically integrate the area under the ROC curve and report your result. This is most easily done with the auc() function from the “flux” package. Areas-under-curve, or AUCs, greater than 0.8 are taken to indicate good discrimination potential.
## [1] 0.8666894
(10)(a) Prepare a table showing each cutoff along with the following: 1) true positive rate (1-prop.adults, 2) false positive rate (1-prop.infants), 3) harvest proportion of the total population
## Volume TPR FPR Prop. Yld
## Max Difference 262.143 0.742 0.176 0.584
## Zero A1 Infants 206.786 0.826 0.827 0.676
## Equal Error 237.639 0.782 0.218 0.625
Essay Question: Based on the ROC curve, it is evident a wide range of possible “cutoffs” exist. Compare and discuss the three cutoffs determined in this assignment.
Answer: (The max difference cutoff decreases the FPR, false positive rate, but creates the lowest proporitional yield. Zero A1 infants cuttoff is the inverse iwt hthe highest TPR by a considerable margin and the highest yield, while having the lowest volume. The equal error seems to be a middle ground for max difference and zero a1 infants. This gives us a range dictated by Volume vs TPR/FPR and proportional yield being inversely related.)
Final Essay Question: Assume you are expected to make a presentation of your analysis to the investigators How would you do so? Consider the following in your answer:
Answer: (1. When outlining exploratory data analysis, it’s important to identify from the outset if the client/investigator wants you to make the ultimate choice, or give them the insights and information for them to make their own informed decision. In my consulting career, it’s almost always the latter of the two. I would outline the pros and cons of the available choices and tradeoffs for the investigator to make their own assumptions and act on. The choices we would outline including preserving infant populations, as it would contribute to the sustainability of abalone population.2. I would make qualifications around the fact that we had no control in the sample population and their is bound have bias and error existing throughout the analysis process that could heavily skew our findings. I would provide consideration for the outliers that showed up throughout all of our plots and graphs, to understand that there are statisical anomalies that are rolled into our overall analysis.3. If it were necessary to proceed based of current analysis, I would suggest implementing a conservative cutoff to avoid harvesting too many young infant abalones.4. For all future studies, I would insist on sampling a population that allows for a much broader set of information on the environment. We can tell that the study was unsuccessful because of those factors and we can look to create a data collection environment that supports it.I would also look for a more efficient way to understand the abalone’s age, versus having to drill.)