[R-sig-Geo] GWR Analysis
Pinar Aslantas Bostan
aslantas at metu.edu.tr
Tue Jun 22 11:40:31 CEST 2010
Dear Roger,
Thank you for your mail. I tried lm() and it doesn't resulted with
negative values. Also gwr() doesn't give negative values if I don't
use fit.points.
> bw1=gwr.sel(PREC~Z+V1+V2,station,adapt=T)
> xx1<-gwr(PREC~Z+V1+V2,station,adapt=bw1,se.fit=T,hatmatrix=TRUE)
> gwrx<-xx1$SDF
> min(gwrx$pred)
[1] 311.189
> max(gwrx$pred)
[1] 1700.559
But if I use fit.points to predict precipitation on a grid, then it
gave negative values.
> x1 <-gwr(PREC~Z+V1+V2,station,adapt=bw1, fit.points = dem,
> predict=T, se.fit=T, fittedGWRobject=xx1)
> gwrres<-x1$SDF
> min(gwrres$pred)
[1] -1126.052
> max(gwrres$pred)
[1] 2104.136
You mentioned about limiting the design of the model, so that it
doesn't give negative values. Do you have any idea about that, how can
I perform this?
Best regards,
Pinar
Alinti Roger Bivand <Roger.Bivand at nhh.no>
> On Mon, 21 Jun 2010, Pinar Aslantas Bostan wrote:
>
>> Dear Roger,
>>
>> Maybe you can remember, last week I asked some questions about gwr
>> analysis and you helped me. In order to make refresh, I want to
>> summarize my problem. I am trying to make gwr analysis to predict
>> precipitation distribution on a DEM. I have two datasets; first one
>> is 'station' consists of 225 prec. measurements and 3 independent
>> variables (Z, V1, V2). The second one is 'DEM' dataset which has
>> 31203 # of pixels. Firstly I tried with using SPDF
>> (SpatialPointsDataFrame) and obtained predicted precipitations on
>> DEM. But when I plot the predicted precipitation values, I saw a
>> lot of negative values which is impossible to get such a values.
>
> No, this is just a weighted linear model. Unless you limit it by
> design, all such linear models will happily predict out of domain.
> Consider how you might by design limit the response to non-negative
> values.
>
>> I thought that this was caused because I used point data sets
>> (SPDF) for grid.
>
> Why would you think that? All you need to provoke this is a slightly
> unfortunate placing of the met stations (all in west and falling
> trend eastwards beyond the observed stations). Did the regular lm()
> fit also predict negative values (very likely yes).
>
> This isn't a GWR problem, it's more general. Fix it for lm() first.
>
> Roger
>
>> Then I tried with using SGDF (SpatialGridDataFrame). At this time,
>> gwr() resulted with an error message "new data matrix rows
>> mismatch". You told me that 'The error message is generated when
>> the number of columns in the matrix of X variables is not the same
>> in data and and fit.points.' I gave some information about datasets
>> below.
>>
>>> class(station)
>> [1] "SpatialPointsDataFrame"
>> attr(,"package")
>> [1] "sp"
>>> names(station)
>> [1] "PREC" "Z" "V1" "V2"
>>> class(dem)
>> [1] "SpatialGridDataFrame"
>> attr(,"package")
>> [1] "sp"
>>> names(dem)
>> [1] "Z" "V1" "V2"
>>
>> 'PREC' is the observations and I want to get predictions of them on 'dem'.
>>
>> I checked the str() and variables are stored in the same way.
>>
>>> bw=gwr.sel(PREC~Z+V1+V2,data=station,adapt=T)
>>> xx1<-gwr(PREC~Z+V1+V2,station,adapt=bw,hatmatrix=TRUE)
>>> x1 <-gwr(PREC~Z+V1+V2,data=station,adapt=bw, fit.points = dem,
>>> predict=T, se.fit=T, fittedGWRobject=xx1)
>> Error in gwr(PREC ~ Z + V1 + V2, data = station, adapt = bw,
>> fit.points = dem, :
>> new data matrix rows mismatch
>>
>>
>> If I wrote 'predict=F' then gwr() works but gives only sum.w,
>> coefficients and localR2.
>>
>> I tried to run gwr() under debug but I didn't understand the output.
>>
>> I really don't understand the problem and need help.
>>
>> Best regards,
>> Pinar
>>
>>
>> ----------------------------------------------------------------
>> This message was sent using IMP, the Internet Messaging Program.
>>
>>
>
> --
> Roger Bivand
> Economic Geography Section, Department of Economics, Norwegian School of
> Economics and Business Administration, Helleveien 30, N-5045 Bergen,
> Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43
> e-mail: Roger.Bivand at nhh.no
>
>
More information about the R-sig-Geo
mailing list