# Performing linear trend analysis within shapefile using ArcGIS Desktop?

I have a shapefile (or several shapefiles, one per year, that I was going to join together to get all of the data in one attribute table) with an attribute for surface water area for each year. So like this: area_2000, area_2001, ..., area_2015; each year with about 2 million objects/rows.

I was hoping to do a linear trend time series analysis in ArcGIS Desktop to get the slope, p-value, etc. as additional attributes for each object. I have used ArcGIS Desktop before to do regression analysis, but this time I want to do time series to get the trend in area for each object.

Is there a tool that would support this?

• How is this different to regression analysis? Commented Jul 24, 2018 at 23:56
• As I understand it the regression analysis in Arc looks at how multiple factors (represented by shapefiles) might predict a dependent variable (also another shapefile layer). I am just looking to get a trend across time. Maybe I can use the standard regression analysis tools but I'm having trouble wrapping my head around how I could do that. Commented Jul 25, 2018 at 1:03
• ESRI dos support this type of analysis. Also, please provide more information on your desired analysis. A trend analysis is different than a multivariate temporal model. What is your dependent variable and what distributional form does it take? Commented Jul 25, 2018 at 1:15
• Sorry; "does not support" Commented Jul 25, 2018 at 1:55

This question has no GIS component, but anyway. I ran this field calculator expression:

``````import numpy as np
x=[2001,2002,2003,2004,2005]
def getSlope(y):
a,b=np.polyfit(x, y, 1)
return a
#----------------
getSlope([ !Y_2001!, !Y_2002!, !Y_2003!, !Y_2004!, !Y_2005!])
``````

on the field "SLOPE" in below table:

To get a slope of a trend. Look at numpy functions closely.

• Thank you Felix. I think I will use this as inspiration and do the math in arcpy. I had just wanted to see if there was a built in Arc function to do this before I tried to write it in arcpy. Commented Jul 25, 2018 at 15:49