I'm trying to use an ANN to learn from a large amount of forest measurement data obtained from sampling plots across Ontario, Canada and associated climate data provided by regional climate modelling in this province.

So the following are the inputs to the ANN:

  • Location (GPS coordinates)
  • Measurement year and month
  • Tree species
  • Age
  • Soil type
  • Soil moisture regime
  • Seasonal or monthly average temperature
  • Seasonal or monthly average precipitation
  • Some more data are available to select

And the targets include: - Average total tree height - Average tree diameter at breast height

For each sampling plot, the trees have been measured for 1-4 times. So my question is what type of ANN can best used to learn from the data and then it can be used for predicting with a set of new input data?

  • 2
    $\begingroup$ Welcome to AI.SE @JChen! Can you tell us what other techniques you have applied to this problem? Do you want to use a neural network because you've heard about it, or because simpler techniques fail? If those techniques fail, tell us why, and it will help us answer! $\endgroup$ Aug 28, 2018 at 11:23
  • 1
    $\begingroup$ Hi John, Thanks a lot. Assessing climate change impacts on forest development is an urgent need. But the difficulty is a lack of data for using statistical methods, especially at a large scale. We have a total of ~4000 sampling plots (mostly boreal forests) measured by 1-5 times. But together, each of the a few dominant boreal forest tree species has been measured many times. Thus should contain enough information about the relationship between tree growth and the environmental conditions that can be extracted by training an ANN. All the best. $\endgroup$
    – JChen
    Aug 28, 2018 at 14:07

1 Answer 1


My suggestion is not to use an ANN, but instead to use a simpler regression algorithm. The main reason for this is that ANNs take a long time to train, and work better when a lot of data is used. They also require a lot of expertise in parameter tuning to apply well. Since you say you don't have a lot of data, and also don't have a lot of experience using them, I think you will be better off applying something else first. If the other techniques don't work at all, then you might think about using ANNs, but again, they tend to want a lot of data.

If you have tried ordinary least squares regression, and found it does not work well, my next choice would be a Classification And Regression Tree. These models can make good decisions with small amounts of data, and do not require a lot of time to train. They can handle real-valued outputs like the height and width of a tree. Weka's REPTree might be a good starting place.

If Trees don't work out, my next suggestion would be to try regression using a Support Vector Machine. SciKitLearn's SVR is a good choice for this. SVRs can sometimes be very effective when data is limited, because they make assumptions about how to handle data-poor regions that seem to be generally applicable. An SVM can also report low confidence when estimating in those regions. They also train fairly fast when using small amounts of data, and can learn non-linear functions from the data.

If you really want to use an ANN, I would start with a simple Multi-layer perceptron. This model has few parameters to play with, and can probably fit well to your regression. It may make strange decisions in regions with less data however.

Hope this helps!

  • 1
    $\begingroup$ Hi John, thanks a lot for taking time providing detailed comments. One thing I want to make it clear is that I don't have a lot of data for each plot, but the ~4000 plots together provide a lot of data for 6 dominant species. $\endgroup$
    – JChen
    Aug 28, 2018 at 19:22
  • 2
    $\begingroup$ And I'll follow your suggestions to see whether 1 or more options you provided will work. Again, appreciate all your help. $\endgroup$
    – JChen
    Aug 28, 2018 at 19:23
  • 1
    $\begingroup$ @JChen don't forget to report back, and upvote or formally accept the answer if it solves the problem. good luck! $\endgroup$
    – DukeZhou
    Aug 28, 2018 at 21:00
  • $\begingroup$ Thanks DukeZhou, I'll certainly report back when I have some good results. $\endgroup$
    – JChen
    Aug 29, 2018 at 18:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .