No, the DPLCM does not use the land price implicitely as an independent
variable. We just assume that the user will use it (since the price of
land should be a decision factor for developing real estate) and
therefore by default we turn the LPM on prior to the DPLCM estimation.
If user does not include a price variable in the specification, the LPM
can be turned off. But leaving it on, won't change the results, only
delay the estimation.
Hana
Brian Miles wrote:
>
> Thanks Hana. Adding development_constraints to our config and
> recreating the baseyear cache did the trick.
>
> You mentioned that DPLCM implicitly uses land prices as an independent
> variable--i.e. whether or not one has chosen to specify such a
> relationship in their model specification--hence the need to run the
> land price model as part of estimating the DPLCM. (you said that this
> relationship can be turned off in
> urbansim/configs/dplcm_estimation_config.py, method
> get_dplcm_configuration.)
>
> I don't see any mention of this relationship in section 8.4.5 of the
> urbansim manual (pp. 111ff) where the
> development_project_location_choice_model is discussed. Are there any
> other models which rely on such implicit relationships? If so, if these
> documented in the manual, I would like to request that they be.
>
> Thanks for all of your help,
>
> Brian
>
> On Jan 11, 2008, at 5:32 PM, Hana Sevcikova wrote:
>
>> Here is the cause (and solution) to this problem:
>>
>> When estimating the DPLCM, the code needs to determine capacity in
>> previous years. Thus, it needs a few datasets available in the cache
>> of the previous years. Those datasets are defined in the entry
>> tables_to_copy_to_previous_years of your configuration. It turned out
>> that the eugene configuration is missing one table here
>> (development_constraints) which causes your error. I have updated it
>> in the repository. The correct entry looks like this:
>>
>> tables_to_copy_to_previous_years = {
>> 'development_type_group_definitions': 1975,
>> 'development_type_groups': 1975,
>> 'development_types': 1975,
>> 'development_constraints':1975,
>> 'urbansim_constants': 1975,
>> },
>>
>> You can either modify your configuration file and rerun the script
>> opus_core/tools/create_baseyear_cache.py. If the entry cache_directory
>> points to an existing cache nothing will be cached, but gridcells will
>> be unrolled again and the correct datasets copied to the previous years.
>>
>> Alternatively, just copy the directory development_constraints from
>> your base year cache to the earliest year you have data for.
>>
>> I hope this will work.
>>
>> Hana
>>
>>
>> Brian Miles wrote:
>>> Hi Hana,
>>> We checked this out and in the process built a simplified
>>> development_constraints table (see below) that we hoped would work
>>> for now, but sadly it did not.
>>> What else should we look at?
>>> Also, we don't understand well why before the estimation of
>>> dplcm-residential, for which we've only specified one variable
>>> (urbansim.gridcell.ln_residential_units) for our current testing, the
>>> land price model is being run. I suppose it's run before the
>>> estimation because land prices are a criterion for dplcm, but I'm
>>> wondering where this relationship is defined if not in the dplcm
>>> model specification.
>>> Thanks,
>>> Brian
>>> mysql> select * from development_constraints;
>>> +---------------+---------+---------------+-----------+-----------+-------------
>>> --------+---------------------+---------------------+---------------------+
>>>
>>> | CONSTRAINT_ID | CITY_ID | IS_IN_WETLAND | MIN_UNITS | MAX_UNITS |
>>> MIN_COMMERCIAL_SQFT | MAX_COMMERCIAL_SQFT | MIN_INDUSTRIAL_SQFT |
>>> MAX_INDUSTRIAL_SQFT |
>>> +---------------+---------+---------------+-----------+-----------+---------------------+---------------------+---------------------+---------------------+
>>> | 1 | -1 | 1 | 0 | 10
>>> | 0 | 1000 | 0 |
>>> 10000 |
>>> +---------------+---------+---------------+-----------+-----------+---------------------+---------------------+---------------------+---------------------+
>>> 1 row in set (0.00 sec)
>>> On Jan 8, 2008, at 1:19 PM, Hana Sevcikova wrote:
>>>> Brian,
>>>>
>>>> My suspicion is that there is something wrong with the column names
>>>> of your development_constraints table. Could you check please that
>>>> the table header corresponds to that described in
>>>> http://www.urbansim.org/docs/opus-userguide/node251.html
>>>>
>>>> Thanks,
>>>>
>>>> Hana
>>>>
>>>>
>>>> Brian Miles wrote:
>>>>> Hello,
>>>>> I'm trying to estimate the
>>>>> residential_development_project_location_choice_model. I'm
>>>>> getting the following error in the compute method of
>>>>> total_maximum_development_SSS.py. Before I spent too much time
>>>>> digging, I wanted to see if anyone had encountered something like
>>>>> this.
>>>>> Thanks,
>>>>> Brian Miles
>>>>> Graduate Assistant
>>>>> Spatial Analysis Lab - Rubenstein School of Environment and
>>>>> Natural Resources
>>>>> University of Vermont
>>>>> excerpt from stack trace:
>>>>> File "C:\opusworkspace-svn\urbansim\gridcell
>>>>> \total_maximum_development_SSS.py"
>>>>> , line 40, in compute
>>>>> index=where(is_developable)[0])[self.type][:,
>>>>> 1]).astype(self._return_type)
>>>>> File
>>>>> "C:\opusworkspace-svn\urbansim\datasets\gridcell_dataset.py", line
>>>>> 56, in
>>>>> get_development_constrained_capacity
>>>>> constraints.get_attribute_names(), ["min", "max"])
>>>>> File "C:\opusworkspace-svn\opus_core\misc.py", line 325, in
>>>>> remove_elements_wi
>>>>> th_matched_prefix_from_list
>>>>> m = apply_along_axis(match_prefix, 1, pl.reshape(pl.size,1),
>>>>> array(valuelist
>>>>> ))
>>>>> File "C:\Python25\lib\site-packages\numpy-1.0.3-py2.5-win32.egg
>>>>> \numpy\lib\shap
>>>>> e_base.py", line 30, in apply_along_axis
>>>>> res = func1d(arr[tuple(i.tolist())],*args)
>>>>> File "C:\opusworkspace-svn\opus_core\misc.py", line 320, in
>>>>> match_prefix
>>>>> t = apply_along_axis(match_single_element, 1,
>>>>> arr.reshape(arr.size,1), prefi
>>>>> x[0])
>>>>> File "C:\Python25\lib\site-packages\numpy-1.0.3-py2.5-win32.egg
>>>>> \numpy\lib\shap
>>>>> e_base.py", line 30, in apply_along_axis
>>>>> res = func1d(arr[tuple(i.tolist())],*args)
>>>>> IndexError: invalid index
>>>>> _______________________________________________
>>>>> Users mailing list
>>>>> Users_at_urbansim.org
>>>>> http://www.urbansim.org/mailman/listinfo/users
>
Received on Fri Jan 11 2008 - 16:11:45 PST
This archive was generated by hypermail 2.2.0 : Fri Jan 11 2008 - 16:11:46 PST