Graphing the Von Bertalanffy Growth Equation

file: d:\B173-2013\von_bertalanffy.wpd

date: September 23, 2013

Introduction

Previously, we calculated regressions of TL on SL for fish size data and plotted the data and regression on a graph.

We will continue today with the next important step: drawing a non-linear function on a graph. In particular, we will plot the von Bertalanffy growth equation on a graph.

Review of what we did

Just so we are sure what we did last time, let's go over it. We started with a set of Standard Length (SL) and Total Length (TL) data for fish specimens. We suspect that there is a linear relationship between these two, i.e., as SL increases so too does TL. This does not mean that the relationship will be perfect.

[Why not? Think of one good reason why the TL of a fish might not be quite as large as it "should" be, given the SL?]

Therefore, if we plot TL versus SL, the points will fall roughly in a line, but not exactly in a line. We want to know what the "best" line through those points would be, and to get that line, we calculate the simple regression, often called the least-squares regression.

These calculations (easily done in Excel), give us the important values to define a line, namely the y-intercept and the slope, i.e., m and b in the formula y = mx + b. However, we cannot plot that function directly on the graph. So we need to find another way to do it.

Here is what we did: we said, for each value of x that we have, i.e., the various values of SL, what would the value of TL be that falls on that line? This was the Predicted TL column that we calculated.

We made some important decisions in presenting the graph: data points were represented by individual symbols -- that is because each symbol represents a piece of data that was collected -- while the relationship was represented by a line -- it theoretically applies to any value within the range of the data.

Important: data is represented by points, relationships are represented by lines. DO NOT connect data points with lines. This is an important point that people often ignore in an effort to make their graphs "look nicer" or some such thing.

In some cases, not only is it wrong, but it is absurd to connect data points. For example, let us say that you are fond of juggling balls. You plot the time you can do this without dropping a ball against the number of balls you are juggling. The data might look like this:

Number of balls juggled	Time without dropping (min)

3	15

4	10

5	5

If you were to plot these points, you would see a steady decline in time without dropping as the number of balls juggled increases. This makes sense. However, if you connect the points, you are in essence saying that if you were to juggle some intermediate number of balls, say 3.5, then you would be able to juggle those for 12.5 minutes, i.e., halfway between the time for 3 and 4 balls. Is this true? Most likely it isn't. First, it is hard to know what 3.5 balls would look like and secondly, it may very well be that juggling a half ball would throw off your pattern and might in fact be quite a bit harder than juggling 4 matched balls.

Remember: Lines are not just there to make things look pretty: they mean something so be sure that they mean what you intend them to mean.

Plotting an arbitrary function

Just as we can plot a straight line using the techniques we've learned, we can also plot any other shape of line, provided we know the equation for it, and a set of input (x) values.

Recall that the van Bertalanffy growth equation illustrates a relationship between length of a fish and its age. It shows that fish keep growing with age, but slow down in growth rate as they get older and older.

Exercise 1: To plot growth at age data

Enter the following age-size data. In order to help me troubleshoot, please enter the information in the cells I suggest.

The following data should be entered with the first title in cell A5 and then proceeding down (leave a space between the title and the first value). Put the Length column starting in B5.

A	B	C...

4:	Age	Length

5:	t	Lt

6:

7:	2	72

8:	3	110

9:	4	141

10:	5	165

11:	6	180

12:	7	189

13:	8	194

14:	9	202

15:	10	199

16:	11	206

17:...

Now, construct an Excel graph of length versus age, plotting the data as given in this table.

As you can clearly see from the graph, there is no linear relationship between length and age, and in fact, we would not expect one. I will tell you that a von Bertalanffy growth equation with the following key parameters actually fits the data very well,

Lt = Linf (1 - e -K(t - t0) )

Linf = 213

K = 0.34

t0 = 0.53

Exercise 2: To plot a von Bertalanffy growth equation on the same graph as the data in Exercise 1.

Hints: we need to fiddle with the equation a little to get it into the computer. The way that Excel understands esomething is as EXP(something). In other words EXP(5) is the same as e5

Be sure you know what "e" is -- it is the base of the natural logarithms and is equal to approximately 2.718

Put the label "Linf" in cell B23 and put the value for Linf in C23

Put the label K in cell B22 and put the value for K in C22

Put the label t0 in cell E22 and put the value for t0 in F22

Assuming the current value for t (age) is in A7, then the formula for the von Bertalanffy equation would be something like this:

=$C$23*(1-EXP(-$C$22*(A7-$F$22)))

Put this formula in column H (it should be in H7 through H16). Be sure you know why. Label that column "Von B."

If all is right, then the value in H7 should be something like 83.8 and the value in H16 should be 206.9

Recall why we use $ signs.

[And yes, you are responsible for knowing this equation and how to use it on the lab exam.]

Now plot this data series as a connected series (do not plot point markers) on the same graph as the original data set. The curve should pass through or close to many of the points.

Hold on to your socks, here we go...

So far you have plotted a von Bertalanffy growth equation, but the next question you are no doubt wondering is: where did he get those values for Linf, K and t0 from? And how can I come up with those values myself to impress my friends and influence people?

In other words, if I just gave you the length at age data (the first two columns), how would you calculate the parameters needed to fit a von Bertalanffy growth equation to the data, i.e., how would you calculate K, Linf and t0?

In the next series of steps we are going to do this by doing a series of regressionns and plotting two graphs. I strongly suggest that you look at the sample printout to understand where we are going with all of this.

There are various ways of doing what we need to do, but one of the tried and true methods is known as constructing a Ford-Walford plot.

A Ford-Walford plot is a graph of lt+1 versus lt. If you construct such a plot and draw a regression through the data, you will get a line with a slope. And here is the good part: K for the von Bertalanffy equation is equal to the negative natural logarithm of that slope, i.e.,

K = -ln (slope of Ford-Walford plot)

And it gets better. If you then plot a 45o line on the same graph, where that line intersects the regression will tell you Linf.

But wait, there's more... Using the Linf you just obtained, if you plot a graph of ln(Linf - lt) versus t, the resulting plot should be a straight line. The intercept of that line with the y-axis (i.e., where t=0) is a very useful value, i.e.,

t0 = intercept - ln Linf

-------------------

K

No, I'm not kidding. It's true!!!

Exercise 3:

a. Construct the Ford-Walford plot for this data and plot the 45o line

Here is how you do this:

Label Column C as "Lt+1"

In Column C, put the values for Lt+1

[simply copy the values from the B column but shift them up one. The first row of column B will not be used and there will not be a value for age 11. This is okay.]

In A19, put the word "slope",

In A20, put the word "intercept"

In B19, calculate the slope of the line of Lt+1 vs Lt (it should be 0.71)

[Recall: use the SLOPE function you learned previously]

In B20, calculate the intercept of the line of Lt+1 vs Lt (it should be 61.52)

[Recall: use INTERCEPT function you learned previously]

Label Column D as "Lt+1vsLt"

In Column D, insert the calculated values for the regression of Lt+1 vs Lt

[Using the slope and intercept you just calculated]

On the same spreadsheet, construct a new graph.

On this graph, plot the points for Lt+1 vs Lt

Then plot the line that goes through them (from the regression you just performed, i.e. Column D versus Column B)

Make column E a column titled (x=y). Copy the values from column B to column E

Then Plot length against itself as a line (i.e., column E against column B)

Vertical gridlines are useful for finding Linf especially if you change the "Scale minor unit" setting to 10 (You can add these from the Layout | Gridlines menu)

Now you will have two lines that almost intersect. Somehow you need to extend the lines so that you can see where they actually cross. Think about this....

Imagine if there were a fish age 15. No such fish exists and you have no data for it, but IF such a fish existed, we could say how long it would be using our regression, right? So, in A17, put "15" and give it a length of 250 (it doesn't really matter what value you put here, as long as it is roughly about 250 -- figure out why). Now extend the regression calculations to cell D17. You should determine that a 15 year old fish should be 239.26.

Similarly extend Column E.

Now extend the length of the lines on the graph by incorporating these "dummy" data points at age 15]

Add Axes titles and print out the graph.

Using your eye and the gridlines, you should now be able to determine where the two lines cross. It should be about 213.

Calculate the value of K (it is the negative ln of the slope of the regression line)

Write on your printout the values of K and Linf.

b. Plot the graph of ln(Linf-Lt) versus t. ...

Do this by creating a Column F of ln(Linf - Lt)

Do a regression of ln(Linf-Lt) versus t. You will need to calculate SLOPE and INTERCEPT for this regression. Put those values in F19 and F20 respectively. Put the regression values in Column G

Plot the data and regression on a new graph.

[Hint: As before, you need to Extend the line by adding a dummy data point of age 0, so you can see where the regression line intersects the y-axis, i.e., age 0]

Calculate the value of t0 using the formula above. See how it is very close to the value of t0 that I originally gave you? Write on the graph the value of t0.

Do you see that it isn't actually necessary to plot this graph? The regression gives you the necessary intercept, though the graph confirms that it is a reasonable value.

Turn in the three graphs

1. the von Bertalanffy graph

2. the Ford-Walford Plot

3. the graph of ln(Linf-Lt) versus t

along with a printout of your spreadsheet. For the spreadsheet printout, turn on the feature to show the column and row titles.

Congratulations Grasshopper... you have now taken your first steps towards actually using Excel, not just playing with it.

Be sure you understand this exercise; you will be asked to do it on the lab exam, with no instructions.

-- END