You shall set "adpt" parameter to 0.1.
Sent from my Iphone
Dr. Danlin Yu
Assistant Professor of GIS, Urban Geography
Earth & Environmental Studies
Montclair State University
Montclair, NJ 07043
Tel: 973-655-4313
Fax: 973-655-4072
Email: y...@mail.montclair.edu
在 May 13, 2010,8:03 AM,huangykiz <huangy...@163.com> 写到:
Hi,
If I want to chang the adaptive Spatial Kernel = 10% neighbors in
gwr()? How to chang it?
Thank you very much.
Cheers.
在2010-05-13 17:43:06,"Roger Bivand" <roger.biv...@nhh.no> 写道:
On Thu, 13 May 2010, huangykiz wrote:
Hi,
I am sorry I say that I cannot get the same R^2 between in R/spgwr
and
SAM in my data.
Establish that the adaptive proportion is exactly the same.
You haven't done that - copy and paste from SAM to gwr(), not using
gwr.sel(). Do it first for fixed Gaussian, then if you get a sensible
figure from SAM for adaptive, do the same there. I see very different
bandwidths chosen by SAM and by gwr.sel() and GWR3 - gwr.sel() and
GWR3
usually agree fairly well for CV fixed bandwidths, but gwr.sel()
typically
continues its search a little longer than GWR3.
I don't know how SAM chooses its bandwidth or adaptive proportion,
it is
closed source, so only its authors know.
Is SAM using Great Circle distances, if so, you should set
longlat=TRUE in
gwr.sel() and gwr()? Are your coordinates geographical (decimal
degrees)
or projected (metres)?
Roger
In R/spgwr
R^2: 0.972989;
AICc (GWR p. 61, eq 2.33; p. 96, eq. 4.21): 4668.92
Effective number of parameters (model: traceS): 435.7586;
Effective number of parameters (residual: 2traceS - traceS'S): 582.3581
;
Sigma (residual: 2traceS - traceS'S): 2.437066;
Sigma (model: traceS): 1.927127;
Sigma (ML): 1.325501;
In SAM,
Coefficient of Determination : 0.696
Adjusted r-square (r?Adj): 0.693
Sigma: 20.058
Effective Number of Parameters: 10.002
Akaike Information Criterion (AICc): 4838.299
Correlation Coefficient (r): 0.834
F: 207.852
Here are my code:
PET.adapt.gauss <- gwr.sel(SPECIES_RI ~ PET,
data=Environmental_variables, coords=cbind(Environmental_variables
$LONGX,
Environmental_variables$LATY),adapt=TRUE)
PET.gauss<- gwr(SPECIES_RI ~ PET, data=Environmental_variables,
coords=cbind(Environmental_variables$LONGX,
Environmental_variables$LATY),
gweight=gwr.Gauss,adapt=PET.adapt.gauss,hatmatrix=TRUE)
1 - (PET.gauss$results$rss/crossprod(scale(Environmental_variables
$SPECIES_RI, scale=FALSE)))
In SAM, I selecte "spatial Weighting Function"=gaussian, adaptive
Spatial Kernel, and compute Geographical Distances based on
longitudinal
coordinate(X) and latitudinal coordinate(Y). I donot select method
for
AIC optimisation.
So I donot know where is wrong.
Thank you very much for your great helps.
在2010-05-13 00:07:23,"Roger Bivand" <roger.biv...@nhh.no> 写道:
On Wed, 12 May 2010, Roger Bivand wrote:
On Wed, 12 May 2010, huangykiz wrote:
Hi, Is "adapt=TRUE"(spgwr) not the same as "adaptive Spatial
Kernel"(SAM)?The result of "adaptive Spatial Kernel" may be
better than
fixed bandwidth. If I want to ues "adaptive Spatial Kernel" in
spgwr, how
to write the code?
READ THE HELP PAGES!
adaptive_proportion <- gwr.sel(...)
result <- gwr(..., adapt=adaptive_proportion; ...)
exactly as on the example om the help page:
data(georgia)
g.adapt.gauss <- gwr.sel(PctBach ~ TotPop90 + PctRural + PctEld
+ PctFB +
PctPov + PctBlack, data=gSRDF, adapt=TRUE)
res.adpt <- gwr(PctBach ~ TotPop90 + PctRural + PctEld + PctFB +
PctPov +
PctBlack, data=gSRDF, adapt=g.adapt.gauss)
res.adpt
Clear?
I have now compared the same data in R/spgwr and SAM for
effective number
of parameters, sigma, and your questionable R^2, and they agree
adequately
when the kernel and the bandwidth are the same. Having the
algorithm
choose the bandwidth does obscure what is going on. You should
use SAM if
you prefer GUI and not needing to know how things work, and
remember that
GWR is a very doubtful approach for anything beyond exploring
non-stationarity, its original motivation.
Thanks a lot.
Cheers.
Hi,
I think that I use the same bandwidth and kernel. In SAM, I
use "spatial
Weighting Function"=gaussian, adaptive Spatial Kernel, and
compute
Geographical Distances based on longitudinal coordinate(X) and
latitudinal
coordinate(Y). In spgwr, gweight is gwr.Gauss and adapt is TRUE.
For example, this is my code:
PET.bw <- gwr.sel(SPECIES_RI ~ PET, data=variables,
coords=cbind(variables$LONGX, variables$LATY),adapt=TRUE)
PET.gauss <- gwr(SPECIES_RI ~ PET, data=variables,
coords=cbind(variables$LONGX, variables$LATY), bandwidth=PET.bw,
gweight=gwr.Gauss,adapt=TRUE,hatmatrix=TRUE)
So where do you pass PET.bw to the gwr() function? adapt=TRUE
will treat
the adaptive proportion as 1, so include all data points. If
you want to
compare, use a fixed bandwidth in both, with no CV selection.
Then you
compare like with like.
Note that your messages are *not* reaching the list, they must
be sent to:
r-sig-geo@stat.math.ethz.ch, not
r-sig-geo-requ...@stat.math.ethz.ch
You are not thinking carefully and are rushing into things and
drawing
wrong conclusions.
Thanks a lot.
Cheers.
在2010-05-12 20:28:47,"Roger Bivand" <roger.biv...@nhh
.no> 写道:
On Wed, 12 May 2010, huangykiz wrote:
Hi,
One of SAM author ("José Alexandre Felizola Diniz
Filho"<di...@icb.ufg.br>) say that they also base on GWR3 (the
Fotherigham book) and the data used within each kernel may
be some
slight differences
Naturally, if you are not using exactly the same kernel and
bandwidth,
you should not be surprised by differences in values. Please
make sure
that the bandwidth and kernel are the same and try again.
Roger
Cheers
在2010-05-12 20:28:47,"Roger Bivand" <roger.biv...@nhh.
no> 写道:
On Wed, 12 May 2010, huangykiz wrote:
Hi,
One of SAM author ("José Alexandre Felizola Diniz
Filho"<di...@icb.ufg.br>) say that they also base on GWR3 (the
Fotherigham book) and the data used within each kernel may
be some
slight differences
Naturally, if you are not using exactly the same kernel and
bandwidth, you
should not be surprised by differences in values. Please make
sure that
the bandwidth and kernel are the same and try again.
Roger
Cheers.
在2010-05-12 15:27:58,"Roger Bivand" <roger.biv...@nhh.
no> 写道:
On Wed, 12 May 2010, huangykiz wrote:
Hi,
I am sorry I donot know how to install module spgwr from
sourceforge (I
can find it on the web
http://r-spatial.cvs.sourceforge.net/viewvc/r-spatial/spgwr/R/gwr.R?view=log
).
So I use the code sketch to calculate quasi-global R2. The
results are
different between SAM and spgwr(Attached are the results ). The
quasi-global R2 in R is 0.4515894, but in SAM is 0.696.
This is my code:
library(spgwr)
Environmental_variables<-read.csv
("Environmental_variables100.csv",header=TRUE)
attach(Environmental_variables)
region_PET.bw <- gwr.sel(SPECIES_RI ~ PET,
data=Environmental_variables,
coords=cbind(Environmental_variables$LONGX,
Environmental_variables$LATY),adapt=TRUE)
region_PET.gauss <- gwr(SPECIES_RI ~ PET,
data=Environmental_variables,
coords=cbind(Environmental_variables$LONGX,
Environmental_variables$LATY), bandwidth=region_PET.bw,
gweight=gwr.Gauss,adapt=TRUE,hatmatrix=TRUE)
names(region_PET.gauss$SDF)
region_PET.gauss$SDF$localR2
1 -
(region_PET.gauss$results$rss/crossprod(scale
(Environmental_variables$SPECIES_RI,
scale=FALSE)))
Thank you very much.
SAM is closed source - ask them how they compute it. For
spgwr, the code
is provided, so you can read it for yourself. For the record,
the current
gwr() code in spgwr gives the same value as GWR3, which is
also closed
source, and where the Effective number of parameters (model:
traceS),
Sigma, and Residual sum of squares also agree. I suppose SAM
has a
different understanding of GWR internals than the authors of
the GWR book.
Once again:
Please *do* write to the R-sig-geo list rather than to me
directly -
others can answer your question as well, perhaps better, and
in a more
timely way than I can. In addition, threads in the list can be
searched in
the archives, so others can avoid the same problem later.
Please summarise to the list if this resolves the problem.
Roger
在2010-05-12 01:16:18,"Roger Bivand" <roger.biv...@nh
h.no> 写道:
On Wed, 12 May 2010, huangykiz wrote:
Hi, I just need one for global, not *each* fit point. In
this case, how
can I select or do? Why in other software such as SAM
(Spatial Analysis
in Macroecology) just gives one R2?
If you believe theirs, good luck! The authors of the GWR
book have local
R^2 values in GWR3 and formulae that are wrong by their own
admission in
private emails. The localR2 now agrees with the as-yet
unreleased GWR4
from the GWR authors. How SAM can be "better", I don't know.
What you
are suggesting is that the model fitted with fit points at
data points
(but not at other fit points) might have a "quasi-global"
R^2, based on
the RSS of the pooled fit. For the columbus case, that might
be:
1 - (col.gauss$results$rss/crossprod(scale(columbus$crime,
scale=FALSE)))
but I don't know whether this is in any way correct. I've
added it as:
Quasi-global R2:
to the print output of a GWR model fitted with a hatmatrix,
and have
committed it to sourceforge, project r-spatial, module
spgwr. Arguably,
it ought to be adjusted by the ratio of degrees of freedom,
but I don't
trust the DF either. Could you please check out spgwr from
sourceforge
,install it from source, and confirm that the "quasi-global
R2" does the
same as SAM, or use the code sketch above to do the same,
and report
back?
Roger
Thanks a lot.
Cheers,
在2010-05-11 23:59:44,"Roger Bivand" <Roger.Bivand@
nhh.no> 写道:
On Tue, 11 May 2010, huangykiz wrote:
Hi,
There are 49 localR2 in the results. Which one do I
need? The code
"look for localR2:" cannot run.
Well, how many do you want? There is one for each fit
point, they are
*local* R2. Please do try to grasp what GWR does - it fits
one moddel
for *each* fit point.
Thans a lot
Cheers.
在2010-05-11 22:33:59,"Roger Bivand" <Roger.Biv
a...@nhh.no> 写道:
On Tue, 11 May 2010, huangykiz wrote:
Hi, OK. But I need it for compariation. In what some
contexts to
get it? May you tell me how to get it?
library(spgwr)
data(columbus)
col.bw <- gwr.sel(crime ~ income + housing, data=columbus,
coords=cbind(columbus$x, columbus$y))
col.gauss <- gwr(crime ~ income + housing, data=columbus,
coords=cbind(columbus$x, columbus$y), bandwidth=col.bw,
hatmatrix=TRUE)
names(col.gauss$SDF)
look for localR2:
col.gauss$SDF$localR2
But do not rely on it or use it for anything at all!
Like all GWR,
it is most unreliable!
Roger Bivand
Thank you very much for your great helps
Best regards.
在2010-05-11 18:28:44,"Roger Bivand" <Roger
.biv...@nhh.no> 写道:
On Tue, 11 May 2010, huangykiz wrote:
Dear professor Bivand,
I am a strudent. I recently use GWR(Geographically
weighted
regression) model. May I ask you a question? There is
not
Coefficient of Determination in the results of GWR.
How can I get
it? What is the programs to get it?
Please address questions like this to the R-sig-geo
list rather
than to me directly in future.
The local R2 values are available in some contexts
when running
gwr(), but are not well defined (neither in the GWR
book nor in
implementations). I advise against their use - they
are most
probably meaningless.
Hope this helps,
Roger Bivand
Thank you very much for your any helps.
Best regards.
Yong Huang
--
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
--
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
--
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
--
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
--
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
--
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
--
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
[[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
_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/r-sig-geo