17
A Development and Parallelization of an air temperature Spatial Interpolation and Prediction Program Student: Erik LaBerge Advisor: Munihiro Fukuda

A Development and Parallelization of an air temperature Spatial Interpolation and Prediction Program Student: Erik LaBerge Advisor: Munihiro Fukuda

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Development and Parallelization of an air temperature Spatial Interpolation and Prediction Program Student: Erik LaBerge Advisor: Munihiro Fukuda

A Development and Parallelization of

an air temperature Spatial Interpolation and Prediction Program

Student: Erik LaBergeAdvisor: Munihiro Fukuda

Page 2: A Development and Parallelization of an air temperature Spatial Interpolation and Prediction Program Student: Erik LaBerge Advisor: Munihiro Fukuda

Overview of Project

• Goal: Protect crops from frost damage• How: Fans, sprinklers• My part: Find out when to use fans/sprinklers– Monitor current temperatures– Predict future temperatures

Page 3: A Development and Parallelization of an air temperature Spatial Interpolation and Prediction Program Student: Erik LaBerge Advisor: Munihiro Fukuda

Definition of Work

• Code Algorithms:– Air Temperature Spatial

Interpolation Algorithms• Inverse Distance

Weighting• Polynomial Regression

– Air Temperature Prediction Algorithms• Polynomial Prediction• Artificial Neural Network

• Verify results with historical and mock-up data

• Improve accuracy by altering algorithms

• Compare performance between algorithms

Page 4: A Development and Parallelization of an air temperature Spatial Interpolation and Prediction Program Student: Erik LaBerge Advisor: Munihiro Fukuda

Process of Data from Interpolation to Prediction

• Receive data from sensors – Latitude, longitude, elevation, temperature

• Interpolate data from known to unknown points and output a grid encompassing all of the sensor points

• Predict temperature from the interpolated data for an overnight period, to determine the minimum expected temperature

Page 5: A Development and Parallelization of an air temperature Spatial Interpolation and Prediction Program Student: Erik LaBerge Advisor: Munihiro Fukuda

Inverse Distance Weighting

• Input data– From dispersed

points• Create a grid

encompassing all data points

• Estimate all points in the grid based on the known data

Page 6: A Development and Parallelization of an air temperature Spatial Interpolation and Prediction Program Student: Erik LaBerge Advisor: Munihiro Fukuda

Inverse Distance Weighting Cont.

Red: High TemperatureBlue: Low Temperature

Page 7: A Development and Parallelization of an air temperature Spatial Interpolation and Prediction Program Student: Erik LaBerge Advisor: Munihiro Fukuda

Inverse Distance Weighting Cont.

Red: High TemperatureBlue: Low Temperature

Page 8: A Development and Parallelization of an air temperature Spatial Interpolation and Prediction Program Student: Erik LaBerge Advisor: Munihiro Fukuda

Polynomial Regression

Y = (Latitude)*x_1 +(Longitude)*x_2 + (Elevation)*x_3

Page 9: A Development and Parallelization of an air temperature Spatial Interpolation and Prediction Program Student: Erik LaBerge Advisor: Munihiro Fukuda

Polynomial Regression Cont.

Red: High TemperatureBlue: Low Temperature

Page 10: A Development and Parallelization of an air temperature Spatial Interpolation and Prediction Program Student: Erik LaBerge Advisor: Munihiro Fukuda

Polynomial Prediction

Page 11: A Development and Parallelization of an air temperature Spatial Interpolation and Prediction Program Student: Erik LaBerge Advisor: Munihiro Fukuda

Artificial Neural Network

• To get prediction:

Temperature * weight -> signal -> a() -> signalsignal -> a() -> signalsignal -> b() -> signalsignal -> b() -> signalsignal -> c() -> signalsignal -> c() -> signal

* weight -> signal* weight -> signal* weight -> signal* weight -> signal* weight -> signal* weight -> signal

+_________ signal -> activate() -> prediction

|-------- 1st feed forward --------|

|--------------4th feed forward--------------|

|---- 3rd feed forward -----|

|--2nd feed forward--|

Page 12: A Development and Parallelization of an air temperature Spatial Interpolation and Prediction Program Student: Erik LaBerge Advisor: Munihiro Fukuda

Artificial Neural Network Cont.

• To initialize:

Temperature ->Target ->Learn Rate ->

test() -> Error ->

--------> Learn Rate ->

backPropegate() -> returns errors and changes weights based on the derivative of the presignal, error value, and learn rate

Page 13: A Development and Parallelization of an air temperature Spatial Interpolation and Prediction Program Student: Erik LaBerge Advisor: Munihiro Fukuda

Artificial Neural Network Cont.

• 7pm• 9pm

• 11pm• 1am

• 3am• 5am • 8am

• Actual temperature

• Predicted temperature

• 7am

Page 14: A Development and Parallelization of an air temperature Spatial Interpolation and Prediction Program Student: Erik LaBerge Advisor: Munihiro Fukuda

Inverse Distance Weighting Polynomial Regression

Calculating a 600 by 1100 space from 191 data points

40 seconds 7 seconds

Calculating a 600 by 1100 space from 1200 data points

Temperature Interpolation Performance

sec31.251

191)1100600(

sec401200)1100600(

sec98.431911100600

sec712001100600

Since we will use not only (longitude, latitude, altitude) but also wind, etc., we should use inverse distance weighting for temperature interpolation

Page 15: A Development and Parallelization of an air temperature Spatial Interpolation and Prediction Program Student: Erik LaBerge Advisor: Munihiro Fukuda

Polynomial Prediction Artificial Neural Network (ANN)

Calculating predictions from 191 sensors

Initialization: noneSingle prediction: 0.000188 sec

Initialization: 1.253 ~ 1.6 secSingle prediction: 0.204 ~ 0.305 sec

Calculating predictions from 1200 sensors

0.000188 sec * 1200 = 0.2256 sec (0.25 sec * 1200) + 1.255 = 301.255 sec

Temperature Prediction Performance

ANN will be used for the first 4-5 hours and Polynomial Prediction will be used for the rest of the prediction duration. So we need 301.26 + 0.23 = 301.49sec for prediction every 10 minutes.

Page 16: A Development and Parallelization of an air temperature Spatial Interpolation and Prediction Program Student: Erik LaBerge Advisor: Munihiro Fukuda

Performance Cont.

• The total processing time every 10 minutes is:251.31 + 301.26 + 0.23 = 552.8 sec -> 9.21 min

• Factors that could make it slower are:– More sensors(900MHz + WiFi combination).

Increasing the amount of time interpolating data– Factoring in more variables such as wind, bodies

of water, neighboring sensors’ data

Page 17: A Development and Parallelization of an air temperature Spatial Interpolation and Prediction Program Student: Erik LaBerge Advisor: Munihiro Fukuda

Conclusion

• Interpolation and prediction can be done within a reasonable degree of accuracy when combining different methods

• Lessons learned: – Object orientation– Verify results incrementally – Reuse code