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.biv...@nhh.no
_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/r-sig-geo