Danlin and Roger,
thanks for the answers.
My intention was to use a fixed bandwidth , but as you told, I probably have
a too small bandwidth since most of my sum of weigths are 1.  I thought that
by using a bandwidth of 20, it would mean 20 degrees.
I'm also going to try fitting the model with a small subset and then
applying it to the rest of my data. I tried fitting the model with SAM and
ARCGIS and both crash because of memory so I might have memory problems as
you told.
About using adaptative kernel, I also think it would be best for the
regression to use since island density changes in space ,but I'm afraid that
this might not give the answer that I want, because a maximum distance to
other islands has a different meaning for number of species (my dependent
variable) than a maximum number of islands. Also I will correct the
latitude-longitude error

Thanks for your time,
Jorge




2010/10/1 Roger Bivand <Roger.Bivand@nhh.no>

> 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.Bivand@nhh.no
>
>

	[[alternative HTML version deleted]]

