340 likes | 413 Views
CS 170: Computing for the Sciences and Mathematics. Error: Finding Creative ways to Screw Up. Administrivia. Last time Basics of modeling Assigned HW 1 Today HW1 due! Assign HW 2 Monday 9/13– NO CLASS. Error. What is the value of a model… That is completely wrong
E N D
CS 170:Computing for the Sciences and Mathematics Error: Finding Creative ways to Screw Up
Administrivia • Last time • Basics of modeling • Assigned HW 1 • Today • HW1 due! • Assign HW 2 • Monday 9/13– NO CLASS
Error • What is the value of a model… • That is completely wrong • That is a perfect match to a physical system • That may be off by as much as 5%
Types of Error • Input Data Errors • Faulty/inaccurate sensors, poorly calibrated, mis-read results.. • Modeling Errors • Poor assumptions, bad math, mis-understanding of system • Implementation Errors • Bug in computer program, poor programming • Precision • The limits of finite number representation
Input Data Errors • NSIDC • Sensor drift led to their real-time sea ice estimates to be off by over 500,000 km2 • Still only off by 4% • http://nsidc.org/arcticseaicenews/2009/022609.html
Modeling Errors • Obvious type: math formulation errors, mis-writing a formula, etc. • By virtue of making assumptions and simplifications, models will have “error” versus reality. • This isn’t necessarily a bad thing, as long as we manage it well • Lord Kelvin used his knowledge of temperature dissipation to estimate that the earth was between 20-40 million years old. • Actual: ~12 billion • Assumed there was no heat source but the sun
Implementation Errors • Incorrect programming (a “bug”) • Didn’t implement the model correctly • Wrong equations • Mis-defined inputs/outputs • Implemented the solution to a different problem • Precision Errors • Computers only have so much space to store numbers • This limits the range and precision of values!
Precision Errors • In a computer, a number is stored in a number of bits (binary digits) • IEEE 754 standard floating point • Variation on standard normalized scientific notation • single-precision is 32 bits • double-precision is 64 bits • Stored in 3 parts • sign (1 bit) – is it positive or negative? • magnitude – what is the exponent? • mantissa/significand – what is the number? i.e. 6.0221415 × 1023
Exponential notation • Example: 698.043990 103 • Fractional part or significand? • 698043990 • Exponent? • 3 • Normalized? • 6.98043990 105
Significant digits • Significant digits of floating point number • All digits except leading zeros • Number of significant digits in 698.043990 103? • 9 significant digits • Precision • Number of significant digits
Round-off error • Problem of not having enough bits to store entire floating point number • Example: 0.698043990 105 if only can store 6 significant digits, rounded? • 0.698044 105 • Do not test directly for equality of floating point variables • Note that many numbers that seem “safe” really aren’t! • i.e. 0.2 is an infinite repeating series when expressed in binary
Absolute error • |correct – result| • Example: correct = 0.698043990 105 and result = 0.698043 105 • Absolute error = ? • |0.698043990 105 - 0.698043 105| = 0.00000990 105 = 0.990
Relative error • |(correct - result) / correct| • Example: (correct - result) = 0.990 and correct = 0.698043990 105 • 0.990/(0.698043990 105) = 1.4182487 10-5
Relative error • Why consider relative errors? • 1,000,000 vs. 1,000,001 • 1 vs. 2 • Absolute error for these is the same! • If exact answer is 0 or close to 0, use absolute error • Why?
Addition and subtraction errors • Beware if there is a big difference in the magnitude of numbers! • Example: (0.65 105) + (0.98 10-5) = ? • 65000 + 0.0000098 = 65000.0000098 • Suppose we can only store 6 significant digits? • 65000.0 = (0.650000 105)
Associative property • Does not necessarily hold! • Sum of many small numbers + large number may not equal adding each small number to large number • Similarly, distributive property does not necessarily hold
To reduce numerical errors • Round-off errors • Use maximum number of significant digits • If big difference in magnitude of numbers • Add from smallest to largest numbers
Error Propagation (Accumulated Error) • Example: repeatedly executing: t = t + dt • Better to repeatedly increment i and calculate: t = i * dt
Overflow/underflow • Overflow - error condition that occurs when not enough bits to express value in computer • Underflow - error condition that occurs when result of computation is too small for computer to represent
Truncation error • Truncation error • Error that occurs when truncated, or finite, sum is used as approximation for sum of infinite series
Error is Not Inherently Bad • Almost all of these issues can be managed and controlled! • A certain amount of error is normal • What’s important is that we: • Know how much error there might be • Keep it within a bound that allows the results to still be valid
Calculus • Mathematics of change • Two parts • Differential calculus • Integral calculus
Rates • “Rate of Change” • Often depends on current amounts • Rates are important in a lot of simulations • growth/decay of… • populations • materials/concentrations • radioactivity • money • motion • force • pressure
Height (y) in m vs time (t) in sec of ball thrown up from bridge
Average velocity • between 0 sec & 1 sec? • between 1 sec & 2 sec? • between 0.75 sec & 1.25 sec? • Estimate of instantaneous velocity at t = 1 sec?
Derivative • Derivative of y = s(t) with respect to t at t = a is the instantaneous rate of change of s with respect to t at a (provided limit exists):
Derivative at a point is the slope of the curve at that point
Differential Equation • Equation that contains a derivative • Velocity function • v(t) = dy/dt = s'(t) = -9.8t + 15 • Initial condition • y0 = s(0) = 11 • Solution: • function y = s(t) that satisfies equation and initial condition(s) • in this case: • s(t) = -4.9t2 + 15t + 11
Second Derivative • Acceleration - rate of change of velocity with respect to time • Second derivative of function y = s(t) is the derivative of the derivative of y with respect to independent variable t • Notation • s''(t) • d2y/dt2
Systems Dynamics • Software package that makes working with rates much easier. • Components include: • “Stocks” – collections of things (noun) • “Flow” – activity that changes a stock (verb) • “Variables” – constants or equations – converter • “Connector” – denotes input/information being trasmitted
HOMEWORK! • READ pages 17-48 in the textbook • On your own • Work through the Vensim PLE tutorial • Turn-in the final result files on W: • Vensim is being deployed tonight. If there is a problem, I will notify everyone ASAP. • NO CLASS on Monday