On Fri, 1 Oct 2010, Roger Bivand wrote:
On Thu, 30 Sep 2010, Danlin Yu wrote:
Jorge:
From what I see on your code, I would suspect that you kind of confuse the
bandwidth with numbers of nearest neighbor. In your code, you use 20, and I
assume that meant the 20 nearest neighbors that you want for GWR
calibration. Yet you didn't specify the adapt parameter in the code, which
make the code think 20 is a distance value. I am not sure how the distance
of 20 with longitude and latitude values would be, but I suspect this might
be the cause.
See ?spDistsN1, the distances are in kilometers.
In addition, in the coordinates specification, longitude shall be the x,
and latitude the y.
Exactly!
Try:
test=gwr(y~x1+x2,data=yourdata,cbind(longitude,
latitude),adapt=0.05,gwr.bisquare,longlat=T)
to see what happens (I use 0.05 just for testing purpose, which means 5% of
the total sample as the nearest neighbor for local estimation. Since you
have more than 10,000 samples, the value will result in a local sample
(local nearest neighbors) of 500. If you wan to try 20, then you can
probably use 0.002 for the adapt parameter).
I agree that adapt= may here be a better choice than a fixed bandwidth. I do
not, however, think that local R2 will be available for this number of data
points, as the hat matrix would be too big for memory. Please read up on the
difference between fit points and data points, and consider fitting a model
with hat matrix on a subset of the data, then using the fittedGWRobject=
argument to provide the elements needed to get to local R2 (which is not the
R2 of each local fit, it seems). Have you tried fitting in GWR3, SAM, or
ArcGIS?
My analysis was incorrect, and the NA localR2 are coming from the very low
sums of weights for each observation:
library(spgwr)
res.adpt <- gwr(PctBach ~ TotPop90 + PctRural + PctEld + PctFB + PctPov +
PctBlack, data=gSRDF, adapt=0.01)
summary(res.adpt$SDF)
res.adpt <- gwr(PctBach ~ TotPop90 + PctRural + PctEld + PctFB + PctPov +
PctBlack, data=gSRDF, adapt=0.001)
summary(res.adpt$SDF)
With sums of local weights of 1, so only including the i'th observation in
its own local regression, the localR2 suffers numerical meltdown in
several elements. The hat matrix is not required to compute the localR2 if
the data points are the fit points. In your case, and with a 20km fixed
bandwidth, you most likely only have the i'th observations in their own
local regressions.
Hope this helps more,
Roger
Hope this helps,
Roger
Hope this helps.
Cheers,
Dr. Danlin Yu
On 2010-9-30 12:53, Jorge Fernando Saraiva de Menezes wrote:
Dear list,
When I run a gwr using a model with two independent variables my local R2
only has NA values. I've read in some topic that this is problably because
the function cannot estimate localR2 correctly.
I tryed to get the same result with the columbus data, but was not able
to.
Does anyone know what usually cause this? maybe a small or large bandwdth?
And a side question, when longlat=T,and your coordinates are in WGS84 the
values of bandwidth must be given in degrees?
I'm using R2.10.1 and package spgwr version 0.6-2. i give a summary of my
variables below. also my data is information collected in 10433 islands of
the American continent, which mean that I have distances between my points
varying from few meters to thousands of kilometers. I use a bandwidth of
20,
and used the bisquare method.
summary of my data
y x1 x2
Min. 0.00 1.310e-02 4.254e-02
1st Qu. 32.00 8.319e-01 1.628e+00
Median 47.00 1.696e+00 2.005e+01
Mean 84.25 2.043e+02 1.329e+02
3rd Qu. 143.00 5.822e+00 1.758e+02
Max. 425.00 5.152e+05 3.114e+03
code
test=gwr(y~x1+x2,,cbind(latitude,longitude),20,gwr.bisquare,longlat=T)
Thanks in advance,
Jorge Menezes
[[alternative HTML version deleted]]
_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/r-sig-geo
--
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