1 00:00:02,910 --> 00:00:06,570 Now in this video we're going to start optimizing our process. 2 00:00:06,570 --> 00:00:10,870 Using the idea of a response surface method (RSM) or a responsive optimization. 3 00:00:12,160 --> 00:00:17,110 I will say this as encouragement, more than any single other technique I use, 4 00:00:17,110 --> 00:00:22,150 the concept of optimization has always led to the most significant increase in 5 00:00:22,150 --> 00:00:24,470 profit and value in the companies I've worked with. 6 00:00:25,882 --> 00:00:29,470 Students that have used the concepts from this course in their work have been 7 00:00:29,470 --> 00:00:31,160 promoted many times, 8 00:00:31,160 --> 00:00:33,770 and I still get emails from them telling me about this. 9 00:00:34,790 --> 00:00:36,430 Now, full disclosure: 10 00:00:36,430 --> 00:00:38,790 I didn't invent any of these ideas so 11 00:00:38,790 --> 00:00:42,160 I don't deserve the credit, but let me try to explain them to you. 12 00:00:43,630 --> 00:00:48,710 Now people have been asking about linear versus non-linear systems on the forums. 13 00:00:48,710 --> 00:00:51,560 And to address the issue of repeated experiments and 14 00:00:51,560 --> 00:00:55,200 noise, we will look at these topics in this example. 15 00:00:55,200 --> 00:00:57,900 That's the idea of just-in-time learning. 16 00:00:57,900 --> 00:01:01,770 Now some fair warning, this video is longer than most, but 17 00:01:01,770 --> 00:01:06,300 it carries a single case study through and introduces many critical concepts. 18 00:01:07,540 --> 00:01:10,660 So back to the popcorn example from the prior video. 19 00:01:10,660 --> 00:01:15,540 We had a single factor that affects the system, factor A, the cooking type. 20 00:01:15,540 --> 00:01:20,950 And we develop the model y = 90 + 15x_A 21 00:01:20,950 --> 00:01:25,760 We said that the interpretation of the 15 x_A term in the model is that if we 22 00:01:25,760 --> 00:01:28,790 increase the cooking time from -1 to 0, 23 00:01:28,790 --> 00:01:33,890 or from 0 to +1 in coded units, that's a 1 unit increase, 24 00:01:33,890 --> 00:01:35,435 then the number of popped but 25 00:01:35,435 --> 00:01:39,940 unburnt popcorn increases on average by a value of 15 units. 26 00:01:41,060 --> 00:01:44,490 This would be a good time to have a discussion about how we connect our 27 00:01:44,490 --> 00:01:49,520 coded values over here in the model to real world values of cooking time. 28 00:01:50,620 --> 00:01:55,540 The simple rule for continuous factors is that we use the 29 00:01:55,540 --> 00:01:57,380 (coded value) = (real world value) 30 00:01:57,380 --> 00:02:00,150 minus the (center point) divided by half the range. 31 00:02:01,460 --> 00:02:05,030 In the cooking time factor here the center point is the middle, 32 00:02:05,030 --> 00:02:07,310 between the low value and the high value. 33 00:02:07,310 --> 00:02:10,450 That corresponds to 135 seconds. 34 00:02:10,450 --> 00:02:14,000 The range refers to the high level minus the low level. 35 00:02:14,000 --> 00:02:19,770 So 150 minus 120 equals 30, and half the range is then 15 seconds. 36 00:02:20,800 --> 00:02:22,380 Let's try using this formula for 37 00:02:22,380 --> 00:02:27,370 the real world units of 135 seconds of cooking time. 38 00:02:27,370 --> 00:02:31,500 So that's 135 - 135 = 0, 39 00:02:31,500 --> 00:02:35,030 divided by half the range of 15, which is still 0. 40 00:02:35,030 --> 00:02:39,000 So the coded value for 135 seconds is 0. 41 00:02:39,000 --> 00:02:44,620 The cooking time of 150 seconds should correspond to +1 in coded units. 42 00:02:44,620 --> 00:02:46,250 And the formula shows that that's correct. 43 00:02:47,320 --> 00:02:50,570 You could use the formula in the backwards direction. 44 00:02:50,570 --> 00:02:54,850 What does a cooking time of +2 in coded units correspond to 45 00:02:54,850 --> 00:02:56,890 in real world units? 46 00:02:56,890 --> 00:03:01,470 If we work in reverse, we multiply our coded value by half the range. 47 00:03:01,470 --> 00:03:04,880 So that's plus 2 times 15, which equals 30. 48 00:03:04,880 --> 00:03:08,182 Then instead of subtracting the center point, we add it. 49 00:03:08,182 --> 00:03:12,380 So 30 plus 135 = 165 seconds 50 00:03:12,380 --> 00:03:13,610 51 00:03:13,610 --> 00:03:18,310 So here's a summary of how to go from real world units to coded units and back again. 52 00:03:18,310 --> 00:03:19,620 Keep this close by. 53 00:03:19,620 --> 00:03:21,930 We're going to use this many times in this section. 54 00:03:23,000 --> 00:03:25,150 So let's visualize this. 55 00:03:25,150 --> 00:03:28,410 The actual experiments are shown here with black circles. 56 00:03:28,410 --> 00:03:31,460 And the prediction model is shown as a blue line. 57 00:03:31,460 --> 00:03:37,270 Notice at the low level in coded units of -1, the prediction is 75 and 58 00:03:37,270 --> 00:03:41,060 it corresponds closely to the experimental values of 74 and 76. 59 00:03:41,060 --> 00:03:45,080 At the baseline where the coded value is 0, 60 00:03:45,080 --> 00:03:49,085 we have a prediction using the model of 90 unburned popcorns. 61 00:03:50,880 --> 00:03:55,550 But notice, we never run an experiment actually at the base line. 62 00:03:55,550 --> 00:03:58,640 The model simply tells us that if we did run one, 63 00:03:58,640 --> 00:04:03,040 that would be the number of unburnt popcorn's to expect. 64 00:04:03,040 --> 00:04:04,940 And at a coded value of +1, or 65 00:04:04,940 --> 00:04:09,485 150 seconds in real world units, we make a prediction of 105 unburnt popcorns. 66 00:04:11,890 --> 00:04:14,290 Now on the forums, people have been hinting and 67 00:04:14,290 --> 00:04:17,630 asking about the idea of whether the linear model is valid. 68 00:04:17,630 --> 00:04:20,425 People have been suggesting that all practical systems have 69 00:04:20,425 --> 00:04:21,450 non-linear behaviour. 70 00:04:22,470 --> 00:04:26,390 Another way of stating that is to ask, what's going to happen as we 71 00:04:26,390 --> 00:04:30,840 extend our blue line prediction model further and further to the right? 72 00:04:30,840 --> 00:04:35,040 The blue line indicates that as we cook longer we should obtain more and 73 00:04:35,040 --> 00:04:36,760 more white popcorn. 74 00:04:36,760 --> 00:04:38,610 But clearly that is not true. 75 00:04:38,610 --> 00:04:39,830 If I cook the popcorn for 76 00:04:39,830 --> 00:04:42,710 longer times I would expect that I'm going to start to burn it. 77 00:04:42,710 --> 00:04:46,720 And this outcome variable will quickly start to decrease. 78 00:04:46,720 --> 00:04:48,680 Definitely not increase. 79 00:04:48,680 --> 00:04:52,710 But back over here in this region on the left the model is perfectly valid. 80 00:04:53,970 --> 00:04:57,880 This is a great illustration of the famous quote by George Box, 81 00:04:57,880 --> 00:05:01,190 who I've now mentioned several times in the course videos. 82 00:05:01,190 --> 00:05:04,910 He said, "all models are wrong, but some are useful". 83 00:05:04,910 --> 00:05:07,440 He also extended that by asking: 84 00:05:07,440 --> 00:05:09,130 " ... the practical question is, 85 00:05:09,130 --> 00:05:12,820 how wrong do they have to be before they are not useful?" 86 00:05:12,820 --> 00:05:14,760 I paraphrased that least piece and 87 00:05:14,760 --> 00:05:17,260 that is exactly what we're dealing with here in the video. 88 00:05:18,300 --> 00:05:20,850 Another way of looking at the issue is to ask, 89 00:05:20,850 --> 00:05:24,160 how do we know when the model is not useful anymore? 90 00:05:24,160 --> 00:05:26,390 And I'm going to show you the answer. 91 00:05:26,390 --> 00:05:30,360 The mode is not useful when it is not achieving its objective. 92 00:05:31,570 --> 00:05:33,730 Well, what is the objective? 93 00:05:33,730 --> 00:05:38,270 That comes back to the issue that we saw at the start of this module's videos. 94 00:05:38,270 --> 00:05:42,690 Our objective is clearly to get good predictions using the model, so 95 00:05:42,690 --> 00:05:44,600 we can find this optimum. 96 00:05:44,600 --> 00:05:46,940 So perhaps let's re-write the answer then. 97 00:05:46,940 --> 00:05:51,950 The model is not useful when it stops providing accurate predictions. 98 00:05:51,950 --> 00:05:55,510 And we need accurate predictions in order to optimize. 99 00:05:55,510 --> 00:05:56,290 Let's go try it out. 100 00:05:57,290 --> 00:06:01,120 What is the predicted value when cooking popcorn for 135 seconds? 101 00:06:02,140 --> 00:06:04,110 We showed earlier that prediction was 90. 102 00:06:04,110 --> 00:06:07,740 Now let's go run an actual experiment to confirm, and 103 00:06:07,740 --> 00:06:10,200 if we do that we get a value of 92. 104 00:06:10,200 --> 00:06:12,710 Is that a reasonable prediction? 105 00:06:12,710 --> 00:06:16,740 One way to tell is by comparing our prediction error to the error that 106 00:06:16,740 --> 00:06:18,900 is built into the system. 107 00:06:18,900 --> 00:06:21,920 What do I mean by error that's built into the system? 108 00:06:21,920 --> 00:06:23,930 Another term for that is noise and 109 00:06:23,930 --> 00:06:29,060 noise simply means that if we repeat the experiment exactly in the same way 110 00:06:29,060 --> 00:06:34,500 as all the others from beginning to the end we don't expect the same answer. 111 00:06:34,500 --> 00:06:38,680 We expect some variation -- and that is the noise. 112 00:06:38,680 --> 00:06:44,190 In my prior experiments at the minus 1 point with 120 seconds of cooking time, 113 00:06:44,190 --> 00:06:47,530 I achieved outcome values of 74 and 76. 114 00:06:47,530 --> 00:06:54,560 Now imagine if I run that again, I might get 78 and a 4th time I might get 73. 115 00:06:54,560 --> 00:06:58,700 This gives me some idea of the reproducibility in my system; 116 00:06:58,700 --> 00:07:02,170 that is noise and it's also called pure error. 117 00:07:02,170 --> 00:07:05,240 It combines both the error in my measurements, and 118 00:07:05,240 --> 00:07:09,320 the error due to setting up and operating the experiments. 119 00:07:09,320 --> 00:07:12,500 One way to estimate the noise is by running replicate experiments. 120 00:07:13,570 --> 00:07:17,140 Even if I don't run these two extra experiments, I can get an idea of 121 00:07:17,140 --> 00:07:24,310 the reproducibility by seeing 74 and 76 here, and 106 and 104 over there. 122 00:07:24,310 --> 00:07:27,750 Gives me some measure of variation in the system. 123 00:07:27,750 --> 00:07:30,950 Now we could look into various ways of quantifying noise, 124 00:07:30,950 --> 00:07:34,390 talking about standard deviations and normal distributions; 125 00:07:34,390 --> 00:07:37,190 but I don't want to lose focus of our goal here, 126 00:07:37,190 --> 00:07:41,180 which is to figure out the optimum, and if our model is good enough. 127 00:07:42,530 --> 00:07:44,180 So back to the baseline. 128 00:07:44,180 --> 00:07:45,980 My prediction was 90. 129 00:07:45,980 --> 00:07:49,100 The actual value I achieved was 92. 130 00:07:49,100 --> 00:07:53,650 And compared to the noise in the system, a deviation of 2 popped corns isn't a big deal. 131 00:07:54,670 --> 00:07:58,140 It is comparable to the level of noise I saw earlier, about 2%. 132 00:07:58,140 --> 00:08:01,610 So, right now, this model is great. 133 00:08:01,610 --> 00:08:02,870 Let's go use it to optimize. 134 00:08:04,260 --> 00:08:06,770 If we want the maximum number of white and 135 00:08:06,770 --> 00:08:10,490 burned popcorn, we should be going to right, using longer and 136 00:08:10,490 --> 00:08:14,360 longer cooking times but how big of a step should we take. 137 00:08:14,360 --> 00:08:16,460 We will never really know until we try. 138 00:08:17,530 --> 00:08:22,190 I usually start by making a one-coded units change away from the baseline. 139 00:08:22,190 --> 00:08:24,830 So from x_A equals 0 to x_A equals 1. 140 00:08:24,830 --> 00:08:27,580 But we've already run that experiment. 141 00:08:27,580 --> 00:08:30,830 So let's jump another unit up to x_A equals plus 2. 142 00:08:30,830 --> 00:08:32,940 In real world units, 143 00:08:32,940 --> 00:08:38,170 you showed a few minutes ago, that that new point corresponds to 165 seconds. 144 00:08:39,400 --> 00:08:44,160 Now before you attempted to run your experiment here's a great idea and 145 00:08:44,160 --> 00:08:47,060 good practice to make a prediction first. 146 00:08:47,060 --> 00:08:48,030 Use your model and 147 00:08:48,030 --> 00:08:53,230 show that the prediction is going to be 90 + 15*2 = 120. 148 00:08:53,230 --> 00:08:53,230 149 00:08:53,230 --> 00:08:57,650 When we run the experiment, we get a value of 113 popped corns. 150 00:08:57,650 --> 00:09:01,090 So our model actually overestimated. 151 00:09:01,090 --> 00:09:03,522 It was wrong by about 6%. 152 00:09:03,522 --> 00:09:07,780 That's a lot higher than the 2% error we have just from 153 00:09:07,780 --> 00:09:09,270 the pure noise in the system. 154 00:09:10,280 --> 00:09:14,480 So here's the first indication that our model is not quite as accurate as we 155 00:09:14,480 --> 00:09:15,760 had hoped for. 156 00:09:15,760 --> 00:09:17,010 If we plot these points, and 157 00:09:17,010 --> 00:09:21,700 superimpose the prediction on them we see there's some sort of downward trend. 158 00:09:21,700 --> 00:09:25,740 Now as long as the model was making useful predictions, it's worth using it. 159 00:09:25,740 --> 00:09:28,320 In fact, this model is still useful. 160 00:09:28,320 --> 00:09:30,660 At least it points us in the right direction. 161 00:09:30,660 --> 00:09:34,970 You can keep stepping in the direction of x_A equals +3 and 162 00:09:34,970 --> 00:09:38,440 maybe a little further and you will still be okay. 163 00:09:38,440 --> 00:09:41,140 I'm going to ask you to pause the video here. 164 00:09:41,140 --> 00:09:44,320 And using the experimental data points available to you so 165 00:09:44,320 --> 00:09:48,670 far, these four data points, where would you predict the optimum lies? 166 00:09:48,670 --> 00:09:51,505 At what value of x_A will you get the most popcorn? 167 00:09:52,720 --> 00:09:54,430 I'm going to show you how we can figure that out. 168 00:09:55,510 --> 00:09:57,840 We have evidence here that we should account for 169 00:09:57,840 --> 00:10:00,790 some non-linear behaviour in our system. 170 00:10:00,790 --> 00:10:06,230 We can see it visually in the plot because the deviation away from our linear model. 171 00:10:06,230 --> 00:10:10,890 Now for those of you that don't have a background in system modelling an easy way 172 00:10:10,890 --> 00:10:13,350 to account for a non-linear component, 173 00:10:13,350 --> 00:10:15,630 is to add a quadratic term. 174 00:10:15,630 --> 00:10:18,190 The b_AA x_A^2 term over here. 175 00:10:19,260 --> 00:10:21,228 You'll likely recall seeing these in high school. 176 00:10:21,228 --> 00:10:25,080 Adding this non-linear component, should account for 177 00:10:25,080 --> 00:10:28,540 the non-linear behaviour in our system and improve our predictions. 178 00:10:29,610 --> 00:10:34,520 And here is the R code to fit this new model with the quadratic term added. 179 00:10:34,520 --> 00:10:39,630 Please note that we use the capital letter "I" wrapped around the quadratic portion. 180 00:10:39,630 --> 00:10:44,180 This tells R that we want to treat the quadratic in the formula as is. 181 00:10:44,180 --> 00:10:46,560 "I" is known as the as is operator. 182 00:10:48,480 --> 00:10:49,350 183 00:10:52,320 --> 00:11:01,160 So our new model is y = 91.8 + 14.9 x_A - 2 (x_A^2). 184 00:11:01,160 --> 00:11:01,160 185 00:11:01,160 --> 00:11:03,860 How does this new model's prediction compare? 186 00:11:03,860 --> 00:11:06,690 Let's go try using at x_A = +1. 187 00:11:06,690 --> 00:11:13,090 We get a prediction of 91.8 + 14.9 - 2 188 00:11:13,090 --> 00:11:14,500 That's 104.7. 189 00:11:14,500 --> 00:11:16,840 It agrees with our numbers. 190 00:11:16,840 --> 00:11:20,550 Try using the model at x_A equals 2 plus 2. 191 00:11:20,550 --> 00:11:23,110 You should have obtained the value of 113.6, 192 00:11:23,110 --> 00:11:25,540 which also agrees well with experimental data. 193 00:11:26,560 --> 00:11:29,090 We are in better shape than before. 194 00:11:29,090 --> 00:11:32,120 Let's go repeat the approach we've seen so far. 195 00:11:32,120 --> 00:11:36,660 Make a prediction in the correct direction, then run the actual experiment. 196 00:11:37,750 --> 00:11:40,120 Compare that to the prediction and 197 00:11:40,120 --> 00:11:44,050 rebuild the model if necessary based on the evidence of deviation. 198 00:11:45,380 --> 00:11:47,350 So where should our next step be? 199 00:11:47,350 --> 00:11:50,930 It's quite feasible that you step out to x_A equals +3 200 00:11:50,930 --> 00:11:55,950 using the rules from before that implies a cooking time of three minutes. 201 00:11:57,030 --> 00:12:00,650 But we might be able to use our model in a better way. 202 00:12:00,650 --> 00:12:03,580 Let's visualize the predictions from our model and 203 00:12:03,580 --> 00:12:06,790 I've added those quadratic predictions using the red line. 204 00:12:07,990 --> 00:12:10,970 Here's some R code to create this plot yourself. 205 00:12:10,970 --> 00:12:12,760 Copy and paste it from the course website. 206 00:12:13,970 --> 00:12:17,790 We can either find the maximum from our revised model by looking or 207 00:12:17,790 --> 00:12:19,260 eyeballing the plot. 208 00:12:19,260 --> 00:12:20,983 Or you can go find it mathematically. 209 00:12:20,983 --> 00:12:22,665 It doesn't matter too much, 210 00:12:22,665 --> 00:12:27,460 because George Box's reminder is all that all models are wrong. 211 00:12:27,460 --> 00:12:32,740 Visually we see the model predicting an optimum at about 3.6, 212 00:12:32,740 --> 00:12:34,055 and a value of 118 popcorn's. 213 00:12:36,460 --> 00:12:41,310 What is a coded value of 3.6 represent in real world units? 214 00:12:41,310 --> 00:12:42,721 You're going to be an expert at this soon. 215 00:12:42,721 --> 00:12:47,180 It's 3.6 times 15 for the half range. 216 00:12:47,180 --> 00:12:50,339 And add to it a value of 135 for the center. 217 00:12:51,530 --> 00:12:55,770 So it's a real world value of 189 seconds of cooking time. 218 00:12:55,770 --> 00:12:57,900 Let's go run that experiment now. 219 00:12:57,900 --> 00:13:03,180 We predicted a value of 118 and the actual experiment gives us a value of 116. 220 00:13:03,180 --> 00:13:05,970 That's pretty impressive. 221 00:13:05,970 --> 00:13:10,670 In 7 experiments, we seem to have achieved very good predictions and 222 00:13:10,670 --> 00:13:13,120 a local optimum in the system. 223 00:13:13,120 --> 00:13:15,160 Let's recap our experiments. 224 00:13:15,160 --> 00:13:20,180 The first four experiments were used to rule out factor B, the oil type. 225 00:13:20,180 --> 00:13:22,770 And those experiments also gave us our initial model. 226 00:13:24,000 --> 00:13:25,800 Then we run a center point at 135. 227 00:13:25,800 --> 00:13:30,670 The center point confirmed that our system was linear and 228 00:13:30,670 --> 00:13:32,680 we used it to check the models predictions. 229 00:13:34,030 --> 00:13:36,860 Experiment six was our first step outside the box. 230 00:13:37,870 --> 00:13:40,060 We really tested the model's prediction capacity, 231 00:13:41,140 --> 00:13:45,740 we used this as justification to rebuild the model as well. 232 00:13:45,740 --> 00:13:48,890 And then our seventh experiment seems to be near the optimum. 233 00:13:48,890 --> 00:13:50,630 And I'll say more about that next. 234 00:13:51,640 --> 00:13:53,660 But first, some advice. 235 00:13:53,660 --> 00:13:59,410 You should always be able to justify the value achieved from each experiment, 236 00:13:59,410 --> 00:14:00,320 even if they're cheap. 237 00:14:01,490 --> 00:14:02,410 In industry and 238 00:14:02,410 --> 00:14:06,870 manufacturing environments, experiments can cost hundreds of dollars and 239 00:14:06,870 --> 00:14:11,120 you may have to justify the need for each experiment to your manager. 240 00:14:11,120 --> 00:14:15,510 So, always aim to justify the reason for running that experiment. 241 00:14:15,510 --> 00:14:19,340 Our seventh experiment is not necessarily the last one. 242 00:14:19,340 --> 00:14:22,240 We could have run one here at x_A = +3, 243 00:14:22,240 --> 00:14:25,580 if we weren't quite sure what our model's prediction ability was. 244 00:14:26,720 --> 00:14:31,510 Sometimes rule make smaller, and smaller, and more conservative steps. 245 00:14:31,510 --> 00:14:33,920 Especially if we're concerned about safety. 246 00:14:33,920 --> 00:14:36,790 Safety about your employees, or safety of the equipment. 247 00:14:36,790 --> 00:14:40,240 We also make smaller steps as we approach the optimum. 248 00:14:40,240 --> 00:14:41,990 Because we don't want to jump past it. 249 00:14:43,020 --> 00:14:45,120 We could, and should, if the time and 250 00:14:45,120 --> 00:14:50,140 budget allow, run an eighth experiment, maybe at x_A = +5, 251 00:14:50,140 --> 00:14:53,110 to confirm that something decreases after that optimum. 252 00:14:54,390 --> 00:14:54,900 Here's why. 253 00:14:54,900 --> 00:14:59,090 The very definition of a maximum is that everything else is lower. 254 00:15:00,230 --> 00:15:01,660 So we should, at the very least, 255 00:15:01,660 --> 00:15:05,880 have some evidence that things really are lower on the other side. 256 00:15:05,880 --> 00:15:10,250 With the information we have right now, it might be that we've just levelled off, or 257 00:15:10,250 --> 00:15:14,940 that we had an unlucky experiment and the optimum is still further along. 258 00:15:14,940 --> 00:15:19,570 So let's go verify we are in the region of an optimum by going past it. 259 00:15:19,570 --> 00:15:23,330 And I'm going to try an experiment at x_A = +5, 260 00:15:23,330 --> 00:15:26,390 but remember always predict first and 261 00:15:26,390 --> 00:15:31,360 we can predict with a current model shown here in red that we should get a value of? 262 00:15:33,500 --> 00:15:39,030 That's right you should have predicted a value of 116 using that equation. 263 00:15:39,030 --> 00:15:43,030 When you actually run the experiment, you get a value of 109, 264 00:15:43,030 --> 00:15:45,980 shown with a diamond symbol here on the plot. 265 00:15:45,980 --> 00:15:46,530 Ah-ha! 266 00:15:46,530 --> 00:15:48,570 This confirms that we've reached the optimum. 267 00:15:49,980 --> 00:15:53,470 Again, this was a great demonstration that the model was useful, but 268 00:15:53,470 --> 00:15:54,720 has some inaccuracy. 269 00:15:55,740 --> 00:16:00,480 We predicted 116, but our actual value was 109. 270 00:16:00,480 --> 00:16:04,840 Since we have this eighth data point, we might as well use it to improve our model. 271 00:16:04,840 --> 00:16:06,880 And here is the revised R code for that. 272 00:16:07,880 --> 00:16:08,830 So there we are. 273 00:16:08,830 --> 00:16:16,200 The updated model is 92 + 15 x_A - 2.3 x_A^2 274 00:16:16,200 --> 00:16:20,770 And you will notice the location of the optimum has shifted just slightly. 275 00:16:20,770 --> 00:16:22,910 It's not so bad that we have to go relocate it. 276 00:16:23,940 --> 00:16:26,740 The revised model is shown in dark green. 277 00:16:26,740 --> 00:16:30,410 Some people will point out that they could have done this with fewer experiments, 278 00:16:30,410 --> 00:16:35,124 maybe by doing experiments at -1, +1, + 3, and +5, 279 00:16:36,124 --> 00:16:39,250 using an equally spaced grid. 280 00:16:39,250 --> 00:16:42,140 The grid approach works if you have to search in one or 281 00:16:42,140 --> 00:16:44,700 two dimensions for an optimum. 282 00:16:44,700 --> 00:16:46,980 But it quickly becomes inefficient after that. 283 00:16:48,150 --> 00:16:52,060 If you look at the approach we've taken in this video, it's been very thoughtful and 284 00:16:52,060 --> 00:16:53,740 carefully planned. 285 00:16:53,740 --> 00:16:57,610 And we're going to extend it to two dimensions in one of the future videos. 286 00:16:58,690 --> 00:17:01,850 So here's a summary of the important points that you learned in this video. 287 00:17:03,000 --> 00:17:07,030 We learned how to convert between coded units and real world units and back again. 288 00:17:08,040 --> 00:17:12,110 We showed several times how models can be wrong, but are very useful, 289 00:17:12,110 --> 00:17:13,230 despite their shortcomings. 290 00:17:14,410 --> 00:17:17,780 We saw a systematic approach for seeking the optimum, 291 00:17:17,780 --> 00:17:22,110 which consists of collecting experimental data, building a model. 292 00:17:22,110 --> 00:17:24,050 Testing the models predictions and 293 00:17:24,050 --> 00:17:27,290 then rebuilding the model if it had short comings. 294 00:17:27,290 --> 00:17:31,290 Finally, we learn to always justified the use of every experiment. 295 00:17:32,290 --> 00:17:36,240 Running a new experiment, can be very, very costly. 296 00:17:36,240 --> 00:17:38,620 So, careful planning to make sure that, 297 00:17:38,620 --> 00:17:42,330 that experiment is actually needed is critical. 298 00:17:42,330 --> 00:17:45,750 I do want to point out one final issue, and this will help to 299 00:17:45,750 --> 00:17:49,670 extend the knowledge of students who don't have a modelling background. 300 00:17:49,670 --> 00:17:54,890 Notice here, in this region of the model, that the linear model works perfectly well 301 00:17:54,890 --> 00:17:58,010 for the predictions and for describing the system. 302 00:17:58,010 --> 00:18:02,410 By that I mean we can clearly see that if we increase cooking time, 303 00:18:02,410 --> 00:18:05,460 we get more white unburned popcorn. 304 00:18:05,460 --> 00:18:09,580 We're not going to make any serious errors over here by using this linear model. 305 00:18:11,030 --> 00:18:16,310 The idea is that over a small enough range, practical systems, 306 00:18:16,310 --> 00:18:21,650 even if they're nonlinear, will behave as if they are a linear system. 307 00:18:21,650 --> 00:18:26,340 Finally, I want you to notice how the work we've covered in this video. 308 00:18:26,340 --> 00:18:28,343 Addresses objectives 1, 3 and 309 00:18:28,343 --> 00:18:33,830 4 of the general data analysis objective that I spoke about in the previous video. 310 00:18:33,830 --> 00:18:38,210 And we seamlessly switched between these objectives as our analysis proceeded.