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...@nhh.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.biv...@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...@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