a development and parallelization of an air temperature spatial interpolation and prediction program...

Post on 19-Dec-2015

213 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

A Development and Parallelization of

an air temperature Spatial Interpolation and Prediction Program

Student: Erik LaBergeAdvisor: 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

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

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

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

Inverse Distance Weighting Cont.

Red: High TemperatureBlue: Low Temperature

Inverse Distance Weighting Cont.

Red: High TemperatureBlue: Low Temperature

Polynomial Regression

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

Polynomial Regression Cont.

Red: High TemperatureBlue: Low Temperature

Polynomial Prediction

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--|

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

Artificial Neural Network Cont.

• 7pm• 9pm

• 11pm• 1am

• 3am• 5am • 8am

• Actual temperature

• Predicted temperature

• 7am

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

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.

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

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

top related