Commit 78d266fc authored by Sebastian Hörl's avatar Sebastian Hörl
Browse files

Add custom parameter set

parent f998fb8c
......@@ -530,9 +530,125 @@ public class SwissUtilityParameters {
return parameters;
}
/**
* Custom: Keep interactions and sociodemographics, but remove constants for region, municipality type and purpose
*/
static private SwissUtilityParameters buildCustom(boolean useRouteChoice, boolean onlySignificant) {
SwissUtilityParameters parameters = new SwissUtilityParameters();
double s = onlySignificant ? 0.0 : 1.0;
// General
parameters.betaCost = -0.182;
parameters.lambdaCostIncome = -0.254;
if (useRouteChoice) {
parameters.betaDelay = -0.072;
parameters.lambdaDelayDistance = -0.257;
}
// Walk
parameters.walk.alpha = 0.140 * s;
parameters.walk.betaTravelTime = -0.054;
parameters.walk.lambdaTravelTimeDistance = -0.350;
parameters.walk.sociodemographics.betaMale = -0.0 * s;
parameters.walk.sociodemographics.betaAge = 0.433 * s;
parameters.walk.sociodemographics.betaAgeSquared = -0.047 * s;
parameters.walk.sociodemographics.betaIncome = 0.056 * s;
parameters.walk.sociodemographics.betaIncomeSquared = -0.004 * s;
/*parameters.walk.purpose.betaWork = -0.088 * s;
parameters.walk.purpose.betaEducation = 0.655 * s;
parameters.walk.purpose.betaShop = -0.355 * s;
parameters.walk.purpose.betaErrand = -1.281;
parameters.walk.region.betaRegion1 = 0.403;
parameters.walk.region.betaRegion3 = -0.239 * s;
parameters.walk.municipalityType.betaSubUrban = -0.170 * s;
parameters.walk.municipalityType.betaRural = -0.003 * s;*/
// Bike
parameters.bike.alpha = -2.517;
parameters.bike.betaTravelTime = -0.059;
parameters.bike.lambdaTravelTimeDistance = -0.456;
parameters.bike.sociodemographics.betaMale = 0.434;
parameters.bike.sociodemographics.betaAge = 0.645;
parameters.bike.sociodemographics.betaAgeSquared = -0.080;
parameters.bike.sociodemographics.betaIncome = 0.218;
parameters.bike.sociodemographics.betaIncomeSquared = -0.009;
/*parameters.bike.purpose.betaWork = 0.405;
parameters.bike.purpose.betaEducation = 0.953;
parameters.bike.purpose.betaShop = -0.859;
parameters.bike.purpose.betaErrand = -0.795;
parameters.bike.region.betaRegion1 = 0.663;
parameters.bike.region.betaRegion3 = 0.667;
parameters.bike.municipalityType.betaSubUrban = -0.266 * s;
parameters.bike.municipalityType.betaRural = -0.201 * s;*/
// Car
parameters.car.alpha = 0.0;
parameters.car.betaTravelTime = -0.05;
parameters.car.betaParkingSearchTime = -0.067;
parameters.car.betaParkingCost = -0.176;
parameters.car.lambdaTravelTimeDistance = -0.302;
parameters.car.lambdaCostDistance = -0.675;
parameters.car.betaAlwaysAvailable = 0.890;
// PT
parameters.pt.alpha = -1.023;
parameters.pt.betaTravelTime = -0.035;
parameters.pt.betaAccessEgressTime = -0.042;
parameters.pt.betaWaitingTime = -0.034;
parameters.pt.betaLineSwitch = -0.179;
parameters.pt.betaHeadway = -0.009;
parameters.pt.lambdaTravelTimeDistance = -0.316;
parameters.pt.lambdaLineSwitchesDistance = -0.467;
parameters.pt.lambdaHeadwayDistance = -0.668;
parameters.pt.lambdaCostDistance = -0.433;
parameters.pt.betaOccupancy = -0.039;
if (useRouteChoice) {
parameters.pt.betaMainTransportModeRail = 0.0;
parameters.pt.betaMainTransportModeTram = -0.240;
parameters.pt.betaMainTransportModeBus = -0.233;
}
parameters.pt.betaSubscriptionHalbtax = 0.360;
parameters.pt.betaSubscriptionRegional = 1.571;
parameters.pt.betaSubscriptionGA = 1.712;
parameters.pt.sociodemographics.betaMale = -0.047 * s;
parameters.pt.sociodemographics.betaAge = 0.137 * s;
parameters.pt.sociodemographics.betaAgeSquared = -0.010 * s;
parameters.pt.sociodemographics.betaIncome = -0.026 * s;
parameters.pt.sociodemographics.betaIncomeSquared = 0.005 * s;
/*parameters.pt.purpose.betaWork = 0.326;
parameters.pt.purpose.betaEducation = 0.911;
parameters.pt.purpose.betaShop = -0.408;
parameters.pt.purpose.betaErrand = -0.347 * s;
parameters.pt.region.betaRegion1 = 0.415;
parameters.pt.region.betaRegion3 = 0.107 * s;
parameters.pt.municipalityType.betaSubUrban = -0.178;
parameters.pt.municipalityType.betaRural = -0.213;*/
return parameters;
}
public enum UtilitySet {
CHAPTER_3_2_1, CHAPTER_3_2_2, CHAPTER_3_2_3, APPENDIX_A5
CHAPTER_3_2_1, CHAPTER_3_2_2, CHAPTER_3_2_3, APPENDIX_A5, CUSTOM
}
static public SwissUtilityParameters build(UtilitySet set, boolean useRouteChoice, boolean onlySignificant) {
......@@ -547,6 +663,8 @@ public class SwissUtilityParameters {
return buildNonLinear(useRouteChoice, onlySignificant);
case APPENDIX_A5:
return buildAppendix(useRouteChoice, onlySignificant);
case CUSTOM:
return buildCustom(useRouteChoice, onlySignificant);
default:
throw new IllegalStateException();
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment