Assessing algorithmic bias of a popular credit default dataset
by Miruna G. Cristus, Everett Sussman, & Jan Geffert
Find our Github repository here.
We investigate how credit-scoring systems might disproportionately impact vulnerable groups in receiving loans and credit lines by assessing their use of different sensitive demographic attributes (age, gender, marital status, education). Using a dataset of credit default behavior of Taiwanese credit card holders, we implemented three machine learning methods commonly used in literature for credit default studies (logistic regression, random forest, kNN), trained once on the set of features, and then on the set of features with the sensitive attributes removed. We find that there are negligible difference in accuracy for the models with and without sensitive attributes, raising questions of why these sensitive attributes were collected in the first place. We further find that our classifier exhibits disparate impact bias, erroneously flagging people with a high school education as likely to default more often than people with higher degrees.
Much of the recent success of machine learning in a number of domains has been attributed to the emergence of large datasets, giving rise to adages such as “the more data, the better.” Accordingly, providers of prediction services, notably credit-scoring companies, have broadened the range of information they use to construct their models. At the same time, algorithmic decision-making systems in high-stakes scenarios have attracted increased scrutiny, as civil society and academia have raised concerns about algorithmic bias.
In this paper, we investigate how credit-scoring systems that make use of a number of sensitive demographic attributes might disproportionately impact vulnerable groups in receiving loans and credit lines, by analyzing dataset of default behavior of Taiwanese credit-card holders.
In the United States, the Equal Credit Opportunity Act (ECOA) enacted by Congress in 1974 prohibits credit discrimination based certain protected categories, such as race, age, or marital status [1,2]. While this information may be collected by creditors, it cannot be used in order to make decisions about whether to offer credit, or to determine the terms of the credit. ECOA applies to decisions made by algorithms just as much as to those made by people.
Yet, as economic status is known to be heavily correlated with protected attributes, such as race, ECOA expectedly does not remove all differences in treatment between subpopulations when it comes to loan refusals, credit card limits, etc. Women in the United States, for example, tend to have lower credit limits than men, due to the gender gap in annual income. Consequently, they tend to spend a higher percentage of their credit limit, which in turn negatively impacts their credit score. [3] This phenomenon could therefore easily lead to runaway feedback loops that entrench existing inequalities. It is an instance of disparate impact, where a "formally neutral" system adversely affects certain groups of people without its designers having explicitly intended such outcomes.
In order to understand the role of protected attributes in credit scoring and to assess the potential of disparate impact of credit-scoring algorithms, we examine a credit-default dataset published by Yeh et al. in 2009 [4], which features both sensitive demographic attributes (gender, marital status, age, education) and payment behavior information, as well as the target variable of whether a person has defaulted on their credit or not. We assess the predictive performance of three commonly used classification models: logistic regression, random forest, and k-nearest neighbors which we train on (A) the set of all features and (B) on the set of features excluding sensitive attributes. In a second step, we determine whether the prediction quality of the best-performing classifier differs for different subpopulations who share a sensitive attribute. Finally, we discuss our results in the context of more general considerations on computational bias and data collection practices.
The dataset comprises 30,000 observations, each describing a unique credit-card account holder in Taiwan in September, 2005. The explanatory variables include sensitive attributes (gender, age, marital status, education), as well as the account holder’s payment behavior for the preceding six months (repayment status, amount of bill statement, amount of previous payment). A binary variable denotes whether the credit card owner defaulted (1) on their loan or not (0). Within the sample, the rate of default payment is 22.12%.
| Credit limit | amount of credit offered to the credit card owner. |
| Gender | gender of the credit card holder; categories: male (1) or female (2). |
| Education | educational attainment of the credit card holder; categories: graduate school (1), university (2), high school (3), others (0, 4, 5, 6). |
| Marital status | marital status of the credit card holder; categories: married (1), single (2), divorced (3), others (0). |
| Age | age of the credit card holder. |
| History of payment | payment records for the previous 6 months, from April to September; categories: no consumption (-2), paid in full (-1), use of revolving credit (0), payment delay for one month (1), payment delay for 2 months (2), etc. |
| Amount of bill statement | amount of bill statements for the previous six months. |
| Amount of previous payment | amount of payment for bills in the previous six months. |
| Default | 1 if the person defaulted on their payment, 0 otherwise. |
A common observation in the field of algorithmic fairness is that the data used to train algorithmic decision-making systems already encodes outcomes of various historical discriminatory practices. Therefore a simple question worth asking is who is missing in this dataset. To this end, we compared the distributions of several demographic attributes in the dataset to that of the Taiwanese population overall.
The people who are found in the credit card data are adults who tend to be younger than the general Taiwanese population. Especially elderly citizens are not represented. When faced with a new, unseen credit-card holder who is 70 or older, an automated decision-making system, such as one powered by logistic regression, may therefore likely extrapolate rather than interpolate from seen data.
Women are overrepresented in the dataset. Further, the dataset’s M/F ontology reinscribes problematic binarized notions of gender, non-binary people are erased. [9]
While the majority of the Taiwanese population is married, the majority of the people represented in the credit dataset are single. The data further includes a disproportionately small number of divorced individuals. Widowed citizens are not represented explicitly in the credit data ontology.
Inspecting the data, we also notice that some values of certain variables were undocumented (education: 0, 4, 5, 6; marital status: 0) prompting us to remove all observations including such values, resulting in a final count of 29480 observations (98.26% of original data). The removal of these observations does not meaningfully change the marginal distributions of the dataset’s features. Furthermore, we transform the “history of payment” variable, which in its original form encoded both ordinal and categorical information, for the purposes of model interpretability. Investigating options with both a categorical variable for the “no_delay” value in payment subgroups and a continuous variable to measure the delay payments, we concluded that in terms of both model interpretability and performance, it was best to lump the no-delay categories into only one (0). Thus, our new history of payment attribute is described by:
History of payment: payment records for the previous 6 months, from April to September; categories: no delay (0), payment delay for one month (1), payment delay for 2 months (2), etc.
Finally, we convert the categorical variables gender, education, and marital status into one-hot encodings.
In order to examine how computational bias may be present in the models proposed in literature, we train and evaluate classifiers on two sets of features: (A) a feature set comprising all features, and (B) a feature set that excludes sensitive attributes. By comparing the predictive performance of models trained on (A) with that of models trained on (B), we can determine whether any accuracy is lost via the exclusion of sensitive variables. We split the dataset uniformly at random into training and validation sets with a 80/20 ratio, retaining the label proportions.
We train three models, tuning hyperparameters separately for each of the feature sets:
The performance of the fitted models in terms of AUC, precision, recall and F1 scores are summarized in the table below. F1 score, rather than accuracy, was chosen as an additional figure of merit due to the aforementioned unbalanced label distribution.
| Model Type | AUC (A) | AUC (B) | F1-Score (A) | F1-Score (B) |
| Logistic Regression | 0.7624 | 0.7478 | 0.78 | 0.78 |
| kNN | 0.6151 | 0.6190 | 0.72 | 0.72 |
| Random Forest | 0.7635 | 0.7570 | 0.79 | 0.79 |
For both feature sets, the best performing model in terms of the F1 score is random forest, matching our expectations and kNN is the worst performing model. Interestingly, there is no significant difference in overall performance between random forest and logistic regression; in fact, logistic regression in both cases has a higher F1 score for the “default” category than for the “no-default” category.
| Feature | Coefficient (A) | Coefficient (B) w/o sensitive attributes |
| age | 0.0000 | - |
| gender_male | 0.1058 | - |
| education_grad | 0.0000 | - |
| education_univ | 0.0000 | - |
| marriage_married | 0.1362 | - |
| marriage_divorced | 0.0000 | - |
| delay_0 | 0.8901 | 0.5892 |
| delay_2 | 0.0833 | 0.0359 |
| delay_3 | 0.1542 | 0.0280 |
| delay_4 | 0.1025 | 0.0000 |
| delay_5 | 0.1122 | 0.0000 |
| delay_6 | 0.1214 | 0.0000 |
| all others (limit_bal, bill_amount_0, ..., pay_amount_6) |
0.0000 | 0.0000 |
Interpreting the coefficients of the logistic regression on feature set A, the most important features are, in order of importance, the payment delay for the most recent month, third month, being married, being male, and lastly the payment delays for the other months (all positive). All other attributes have coefficients of 0, due to L1 regularization which we found to outperform L2 regularization. Intuitively, payment delays in recent months are more predictive of a person defaulting than in months further in the past. The model does make use of sensitive attributes, where being male (gender) and being married (marital status) correlate with an individual being more likely to default on their credit. Deploying such a model would be illegal according to ECOA.
In a similar analysis of the feature importance statistics in random forest we notice that the payment delay for the most recent month has the highest feature importance, but is followed by the bill amount for the most recent month, and only then by the age of the credit owner, the credit limit, etc. Different from logistic regression, being married or being male have some of the lowest feature importance scores. This may be explained by the ability of random forest to model non-linearities in the data.
Excluding sensitive attributes in feature set B, the only variables with non-zero coefficients in logistic regression are the payment delays for the previous 3 months (again, in decreasing order of coefficient magnitude as we go backwards in time). For random forest without sensitive attributes, the variables with the highest coefficients are the bill amount for the most recent month, the payment delay for the most recent month, the credit limit etc. There are only minor differences in terms of these scores and their order compared to the random forest with sensitive attributes.
Based on the results summarized above, we note that there is a very small difference in terms of performance between each method on the feature sets with sensitive attributes (A) and without sensitive attributes (B). The performance of the logistic regression and of the random forest in terms of the AUC is not significantly worse, while for kNN, the AUC actually increases when we exclude the sensitive variables. Our results suggest that, in this particular case, removing sensitive attributes would result in negligible performance degradation.
We select the random forest model trained on feature set B (the best model) in order to analyze its potential for disparate impact.
The classifier does not perform significantly differently for subpopulations along the lines of gender, marital status, and age. (“divorced” for marital status had only few samples (<100), resulting in the jagged ROC curve). We do not notice any major discrepancies in false positive or true positive rates based on the sensitive categories.
The classifier underperforms when making predictions for people with high school degrees as their highest educational attainment for thresholds with true positive rates > 0.6. Therefore, the high-school subpopulation would be erroneously flagged by an automatic decision-making system more often than other people with higher degrees.
Overall, there were no major differences in terms of model performance (AUC) between the methods that used sensitive attributes and those that did not. This disproves the common narrative of there being a trade-off between accuracy and privacy/bias.
Both the risk of legal exposure for failing to protect this sensitive data and the long-term engineering benefits of keeping ML pipelines simple lead us to believe that it would be rational to minimize data collection. Age, education, gender and marital status are all quasi-identifiers, which in combination with other data might allow for the re-identification of the subjects in the dataset, and consequently the revealing of sensitive financial data associated with them. Including the variables in the dataset could also lead to human bias (even if it is implicit) for decision makers who would have access to the prediction, as well as to the rest of the profile of the subject. In our view, the only ethically justifiable reason for collecting these sensitive attributes would be for purposes of investigating algorithmic bias. However, our literature review has shown this not to be the case in practice.
Concerning model selection, we would advise the use of logistic regression due to its interpretable characteristics and quick optimization procedure that can be harnessed without sacrificing much predictive power.
In our disparate impact analysis, we find no evidence of bias against subpopulations that share a certain age, gender or marital status, which are protected categories in the US. In terms of level of education, we find a difference in performance for people with high school degrees. This might be problematic due to the fact that lower educational attainment is known to correlate with lower income, and thus we might be denying people who are at low risk of defaulting the credit they might be needing more than higher income populations. However, bias need not be the reason for the inferior performance. Maybe the economic trajectories of people whose highest educational degree is high school are more random / have higher variability than those of people with higher educational degrees, making them harder to predict. More research and inquiry into the dataset is needed to address such questions.
Additionally, it is worth asking to what extent a US dataset would differ from the Taiwan one: would the same variables be the most important ones, would using sensitive attributes such as race make a bigger difference in accuracy, etc. Further research could focus on possible comparisons between models trained on different datasets.
Further possible avenues of research could be the following:
As mentioned above, a widely discussed issue in credit score assessment is the presence of feedback loops. If you are an individual who is initially denied for a loan or credit card line, then you might face additional financial hardships, such as not being able to purchase a home or car, or pay for unexpected costs. This might, in turn, negatively impact your credit score, making it even less likely for you to get further loans. This kind of feedback loops can also be seen in predictive policing, as described in a 2018 paper by Ensign et al. [10]. Employing a similar methodology, we would like to create simulations to prove the existence of such feedback loops, as well as possible interventions.
As previously mentioned, many Kaggle users and papers have done work with this dataset. While investigating issues with unexplained categories (that we managed to get explanations for directly from the author of the original paper), we noticed several types of errors that were being made in the analysis, either in terms of the technical aspects of the models employed, or in the interpretation of the results. We aim to look at a larger number of these papers/notebook and create a classification for the most common type of errors, and discuss their implications.


This guide will walk you through installing Kubernetes-Mesos on Datacenter Operating System (DCOS) with the DCOS CLI and operating Kubernetes with the DCOS Kubectl plugin.
DCOS is system software that manages computer cluster hardware and software resources and provides common services for distributed applications. Among other services, it provides Apache Mesos as its cluster kernel and Marathon as its init system. With DCOS CLI, Mesos frameworks like Kubernetes-Mesos can be installed with a single command.
Another feature of the DCOS CLI is that it allows plugins like the DCOS Kubectl plugin. This allows for easy access to a version-compatible Kubectl without having to manually download or install.
Further information about the benefits of installing Kubernetes on DCOS can be found in the Kubernetes-Mesos documentation.
For more details about the Kubernetes DCOS packaging, see the Kubernetes-Mesos project.
Since Kubernetes-Mesos is still alpha, it is a good idea to familiarize yourself with the current known issues which may limit or modify the behavior of Kubernetes on DCOS.
If you have problems completing the steps below, please file an issue against the kubernetes-mesos project.
Explore the following resources for more information about Kubernetes, Kubernetes on Mesos/DCOS, and DCOS itself.
Configure and validate the Mesosphere Multiverse as a package source repository
shell
$ dcos config prepend package.sources https://github.com/mesosphere/multiverse/archive/version-1.x.zip
$ dcos package update --validate
Install etcd
By default, the Kubernetes DCOS package starts a single-node etcd. In order to avoid state loss in the event of Kubernetes component container failure, install an HA etcd-mesos cluster on DCOS.
shell
$ dcos package install etcd
Verify that etcd is installed and healthy
The etcd cluster takes a short while to deploy. Verify that /etcd
is healthy before going on to the next step.
shell
$ dcos marathon app list
ID MEM CPUS TASKS HEALTH DEPLOYMENT CONTAINER CMD
/etcd 128 0.2 1/1 1/1 --- DOCKER None
Create Kubernetes installation configuration
Configure Kubernetes to use the HA etcd installed on DCOS.
shell
$ cat >/tmp/options.json <<EOF
{
"kubernetes": {
"etcd-mesos-framework-name": "etcd"
}
}
EOF
Install Kubernetes
shell
$ dcos package install --options=/tmp/options.json kubernetes
Verify that Kubernetes is installed and healthy
The Kubernetes cluster takes a short while to deploy. Verify that /kubernetes
is healthy before going on to the next step.
shell
$ dcos marathon app list
ID MEM CPUS TASKS HEALTH DEPLOYMENT CONTAINER CMD
/etcd 128 0.2 1/1 1/1 --- DOCKER None
/kubernetes 768 1 1/1 1/1 --- DOCKER None
Verify that Kube-DNS & Kube-UI are deployed, running, and ready
shell
$ dcos kubectl get pods --namespace=kube-system
NAME READY STATUS RESTARTS AGE
kube-dns-v8-tjxk9 4/4 Running 0 1m
kube-ui-v2-tjq7b 1/1 Running 0 1m
Names and ages may vary.
Now that Kubernetes is installed on DCOS, you may wish to explore the Kubernetes Examples or the Kubernetes User Guide.
 The uninstall process will try to do this itself, but by default it times out quickly and may leave your cluster in a dirty state.
shell
$ dcos kubectl delete rc,pods --all --namespace=default
$ dcos kubectl delete rc,pods --all --namespace=kube-system
Validate that all pods have been deleted
shell
$ dcos kubectl get pods --all-namespaces
Uninstall Kubernetes
shell
$ dcos package uninstall kubernetes


This import runs automatically at regular intervals.
The next run is scheduled {{getNextScheduledRunDescription}}.
Stop automatic imports
You can run this flow at regular intervals.
every 10 minutes every 30 minutes every hour twice a day every midnight (UTC) every noon (UTC) weekly monthly
Schedule automatic import


{% extends "base_satchmo.html" %} {% load i18n %} {% block navbar %}
{% trans "Your email address and password didn't match. Please try again." %}
{% endif %}{% trans "If you do not have an account, please" %} {% trans "click here" %}.
{% trans "If you do not remember your password, please" %} {% trans "click here to have it reset." %}
{% endblock %}


Spurs appoint Mourinho: Five key dates in Jose's diary
by Sports DeskJose Mourinho was on Wednesday named Mauricio Pochettino's successor at Tottenham.
It's a remarkable return to English football for one of the game's most successful, and controversial, managers.
A quick look at the fixture list shows the Portuguese will have to hit the ground running if he is to turn Spurs' season around - the north London side are 14th heading into the weekend clash at West Ham, 11 points adrift of a Champions League spot.
After the cross-capital clash on Saturday, Mourinho will have to plot a route through a congested fixture list that also sees clashes with some old friends and foes.
A DERBY DATE FOR STARTERS - WEST HAM (A), SATURDAY, NOVEMBER 23
Fittingly, Mourinho opens his Tottenham tenure against a West Ham team managed by someone he has clashed with previously.
Mourinho fired a succession of barbs at Manuel Pellegrini after succeeding him as Real Madrid boss in 2010, repeatedly and deliberately calling him "Pellegrino" before claiming "if they [Real] get rid of me, I will go to a big club in the Premier League or Serie A," when Pellegrini went to Malaga.
Further verbals were traded when the pair were at Chelsea and Manchester City respectively, and there is no doubt Mourinho would relish the opportunity to push his rival closer towards the sack.
West Ham have not won in six Premier League games and suffered a humiliating 4-0 thumping at League One side Oxford United in the EFL Cup in September.
AN EARLY GREEK TRAGEDY? - OLYMPIACOS (H), TUESDAY, NOVEMBER 26
Spurs may have struggled domestically this season, but it has been a different story in the Champions League and victory over the Greek side will guarantee them a place in the knock-out stages.
Pochettino guided the club to their first Champions League final last season, where they lost to Liverpool, an amazing feat Mourinho will do well to replicate.
He could not ask for better opponents for his first home game, however. Olympiacos prop up Group B having taken just one point from their four games - against Spurs in Piraeus - while conceding 10 goals in the process.
OLD TRAFFORD RETURN - MANCHESTER UNITED (A), WEDNESDAY, DECEMBER 4
It will be fascinating to see what kind of reception Mourinho receives when he takes Tottenham to Manchester United.
While the Portuguese regularly flagged his achievements before arriving at Old Trafford, his two-and-a-half-year spell in Manchester was mixed.
He claimed EFL Cup and Europa League titles, but it was a reign characterised by acrimony with key players in his squad.
His successor Ole Gunnar Solskjaer has also struggled and Mourinho will see this as a wonderful opportunity to make a statement.
A PRE-CHRISTMAS CRACKER - CHELSEA (H), SUNDAY, DECEMBER 22
Mourinho faces another of his former clubs when Chelsea visit Tottenham Hotspur Stadium three days before Christmas.
The 56-year-old enjoyed enormous success across two spells at Stamford Bridge but was roundly jeered on his last visit with Manchester United.
In response, Mourinho held up three figures to signify the number of Premier League titles he won with the club, in addition to an FA Cup success.
If the love affair was on the rocks then, Mourinho's move to Chelsea's London rivals means it is now officially over.
HOLA PEP! - MANCHESTER CITY (H), SATURDAY, FEBRUARY 1
Two of the game's most successful managers - and perennial rivals - over the past 10 years, Guardiola and Mourinho continue to slug it out at the highest level.
From undignified rows when at Real Madrid and Barcelona to a more peaceful co-habitation of Manchester, the latest chapter promises to be equally engaging.
By early February, City will likely be in the title race while Spurs' push for a top-four finish could be in full swing.
Either way, this promises to be another intriguing encounter.


AlphaPept is an open-source Python package of the AlphaPept ecosystem.
AlphaPept was developed by the Mann Labs at the Max Planck Institute of Biochemistry and the University of Copenhagen and is freely available with an Apache License. Since AlphaPept uses external Python packages, additional third-party licenses are applicable.


Octavia Spencer to receive honor from Producers Guild
LOS ANGELES (AP) - The Producers Guild of America will honor Octavia Spencer for her work behind-the-camera at its 2020 awards show.
Spencer, who was among the producers of last year’s best picture Oscar winner “Green Book,” will receive the Visionary Award at the Producers Guild Awards on Jan. 18.
The honor is meant to celebrate producers who create “inspiring, uplifting stories that add unique value to society and culture.”
Spencer also served as an executive producer on “Ma,” a horror film released earlier this year that gave the Oscar-winning actress her first starring role .
Previous recipients of the award include Brad Pitt, Ava DuVernay and “black-ish” creator Kenya Barris.
Sign up for Daily Newsletters
Copyright © 2019 The Washington Times, LLC.
Please read our comment policy before commenting.


[gecode-users] Remapping of BoolVar propagation conditions
Vincent Barichard
vincent.barichard at univ-angers.fr
Mon Nov 30 09:32:47 CET 2009
Hi,
Thank you both for your answers. As I don't want to break all
propagators that are used for
integer as well as boolean variables, I see no choice but to use
PC_BOOL_VAL.
Maybe one of you may see another way ? I make new functions on Boolean
variables (and associated views) which don't set domain to 1 or 0 (I
copied "ModEvent BoolVarImp::one_none(Space& home)" and removed the
unwanted instructions). These functions notify new events (called
ME_BOOL_SAME in bool.vis file (see attached file)). I mapped this new
event to the PC_BOOL_SAME propagation condition.
Now I change an existing propagator (like the "Or" propagator), and I
want it to be awaken when ME_BOOL_SAME
is emitted. As the variable is not yet assigned, I didn't want to emit
the ME_BOOL_VAL event because I didn't want to
wake up propagators which only subscribed to the PC_BOOL_VAL condition.
So during propagation, I call my new functions on Boolean variables,
the ME_BOOL_SAME event is sent and propagators which subscribe to the
PC_BOOL_SAME condition are wake up. Other propagators are not awaken
(except if a ME_BOOL_VAL event has also been sent). Is it possible ?
Should I use ME_BOOL_VAL ? If I use ME_BOOL_VAL other propagators will
be awaken for nothing.
Thanks for your help.
Cheers,
Vincent
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bool.vis
Type: application/octet-stream
Size: 2971 bytes
Desc: not available
URL: <http://www.gecode.org/pipermail/users/attachments/20091130/a850ae13/attachment-0001.obj>
-------------- next part --------------
Le 29 nov. 09 ? 17:34, Christian Schulte a ?crit :
> Hi,
>
> I am sorry but I do not understand Guido's answer. The reason why
> Boolean
> propagation conditions are remapped is simple: we have many
> propagators that
> are used both for Boolean as well integer views. Hence, both Boolean
> as well
> as integer views need to have the same propagation conditions. As
> there is
> no need to have anything but assigned as a condition for Boolean
> variables,
> the integer conditions are mapped to assigned.
>
> Changing this will break all propagators that are used for integer
> as well
> as Boolean variables.
>
> However, if you want to add a propagation condition to Boolean
> variables
> that's fine. You only have to make sure that integer conditions are
> mapped
> appropriately.
>
> If you really want to know whether a Boolean variable is assigned
> 0/1 don't
> use propagation conditions but use advisors. See the Boolean
> propagators
> such as NaryOr or Clause for an example.
>
> Christian
>
> -----Original Message-----
> From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On
> Behalf
> Of Guido Tack
> Sent: Sunday, November 29, 2009 2:45 PM
> To: Vincent Barichard
> Cc: gecode list
> Subject: Re: [gecode-users] Remapping of BoolVar propagation
> conditions
>
> Hi Vincent,
>
> for BoolVars, there are only two possible events, "assigned 0" and
> "assigned
> 1", so I assume you wanted to add those so that your propagator is
> only
> scheduled for particular assignments, not for the general PC_BOOL_VAL.
> The reason why we don't support these events is that we require
> propagators
> to report when they are subsumed at the latest when all their
> variables are
> assigned. If a propagator only subscribed to the hypothetical
> PC_BOOL_ONE,
> but the variable was assigned 0, the propagator would not be able to
> report
> subsumption, and would remain in the system although it could be
> removed.
> Note that this is an optimization, so if you want to change the
> behavior,
> the system would still work as expected, it would just need more
> memory in
> certain situations. You should however check first if the
> additional calls
> of the propagators are really a performance problem.
>
> Cheers,
> Guido
>
> Vincent Barichard wrote:
>
>> Hi,
>>
>> I would like to add a propagation condition to the BoolVar
>> variables. I
> succeeded
>> to add this new propagation condition but when I tried to subscribe
> variables to
>> this new propagation condition, I discovered that all propagation
> conditions
>> for BoolVar are remapped to PC_BOOL_VAL.
>>
>> Why are they remapped ? Can I safely removed this mapping ?
>>
>> I found the remapping of the propagation condition in the file
> gecode/int/var-imp/bool.hpp.
>>
>> forceinline void
>> BoolVarImp::subscribe(Space& home, Propagator& p, PropCond,
>> bool process) {
>> // Subscription can be used with integer propagation conditions,
>> // which must be remapped to the single Boolean propagation
>> condition.
>> BoolVarImpBase::subscribe(home,p,PC_BOOL_VAL,assigned(),process);
>> }
>> forceinline void
>> BoolVarImp::cancel(Space& home, Propagator& p, PropCond) {
>> BoolVarImpBase::cancel(home,p,PC_BOOL_VAL,assigned());
>> }
>>
>> Thank you for your help.
>>
>> Cheers,
>> Vincent
>>
>> Vincent Barichard Universit? d'Angers (LERIA)
>> Tel: 02 41 73 52 06 D?partement Informatique
>> Fax: 02 41 73 50 73 H203
>>
>>
>> _______________________________________________
>> Gecode users mailing list
>> users at gecode.org
>> https://www.gecode.org/mailman/listinfo/gecode-users
>
>
> _______________________________________________
> Gecode users mailing list
> users at gecode.org
> https://www.gecode.org/mailman/listinfo/gecode-users
Vincent Barichard Universit? d'Angers (LERIA)
Tel: 02 41 73 52 06 D?partement Informatique
Fax: 02 41 73 50 73 H203
More information about the users
mailing list


--- title: Reliable and Interpretable Artificial Intelligence ref: riai2019 description: Graduate course involving the analysis, robustness and visualization of neural networks, as well as probabilistic programming. semester: Fall 2019 number: 263-2400-00L lecturer: Prof. Dr. Martin Vechev ta: Dr. Petar Tsankov, Benjamin Bichsel, Samuel Steffen, Gagandeep Singh, Mislav Balunović, Marc Fischer, Maximilian Baader, Jingxuan He assistants: edoz: http://vvz.ethz.ch/Vorlesungsverzeichnis/lerneinheit.view?lerneinheitId=131566&semkez=2019W&ansicht=KATALOGDATEN&lang=de session-time-place: lecture-time-place: Wed 15-17, HG G 3 exercise-time-place: Mon 13-14, LFW C4 or Wed 11-12 CAB G59 credits: 5 image: assets/images/ai.png ---
Creating reliable and explainable probabilistic models is a fundamental challenge to solving the artificial intelligence problem. This course covers some of the latest and most exciting advances that bring us closer to constructing such models. The main objective of this course is to expose students to the latest and most exciting research in the area of explainable and interpretable artificial intelligence, a topic of fundamental and increasing importance. Upon completion of the course, the students should have mastered the underlying methods and be able to apply them to a variety of problems. To facilitate deeper understanding, an important part of the course will be a group hands-on programming project where students will build a system based on the learned material.
The course covers some of the latest research (over the last 2-3 years) underlying the creation of safe, trustworthy, and reliable AI:


The Museum of Making Music , a division of the NAMM Foundation, explores the unique accomplishments and lasting impact of the music products industry through permanent and special exhibitions, concerts and educational programs. Committed to creating a more musical world, the museum directly connects visitors of all ages with hands-on music making.
Go to museumformakingmusic.org


Discover and Hack URL Handlers (Prototype)
Browser detection not available.
?
[WIP] My handlers
?
[WIP] Crowd sourced handlers
Hack
URLs
Presets
Project
Discover and Hack URL Handlers
Hack
URLs
Presets
Project
Discover and Hack URL Handlers
Hack
URLs
Presets
Project


Advanced Sequencing Technologies and Applications: iobio tutorial
The goal of this page is to highlight the iobio real-time analysis and visualization suite. We will discuss the philosophy of the project and showcase (interactively) the available iobio apps. For more information on iobio, visit the
website and specifically look at the
blog page.
What is iobio?
iobio is a platform on which web-based genomic analysis apps can be built. Analysis is built on providing real-time visually driven analysis of data. This helps us promote an exploratory approach to data analysis.
Data visualization
Humans are very visual animals. We are very good at spotting patterns in data, and quickly developing questions and theories about data, if we can only see the data presented in an intuitive manner. With iobio, we are trying to provide such visualizations for a broad set of genomic analysis problems. As we proceed through this tutorial, we will see the different iobio apps and how we present and interact with our data.
Real-time analysis
To truly explore our data, we need to be able to visualize our data very quickly. In fact, our goal is to visualize data immediately after data selection. We then want to have an analysis loop where we can form questions about the data, then ask questions, change analysis parameters etc. and immediately see the results of these changes. With such quick turnaround of analyses, we can really dig into and understand our data very quickly.
Genomic data is big though, so how can we do this? We use two different methods depending on the analysis being performed. Traditionaly methods perform a "global" analysis.
Our first analysis method is to sample data. Rather than look at everything, for some tasks, we can estimate statistics by sampling across the genome.
These sampling methods are well suited to checking the quality of data, for example, asking whether we believe that a BAM file consists of high-quality data, or whether we believe that there were problems with the sequencing experiment. Currently, the bam.iobio, vcf.iobio, and taxonomer.iobio apps are based on a sampling approach.
The next method is to read all data, but in a small region.
As an example, if we want to search for genetic variants in a child with a known phenotype, it makes sense to start analysis looking only at genes that are known to be associated with the phenotype, rather than starting analysis considering all variants. The gene.iobio tools uses this methodology.
Using iobio tools
For the remainder of this tutorial, we will work with some examples together, using iobio tools to understand the data. As we step through this tutorial, open up and play with the data with the relevant iobio and see if you notice anything interesting about the datasets.
bam.iobio
Let's start by looking at a BAM file hosted on AWS. Follow this
link to
bam.iobio and click "choose bam url", then enter the following url
https://s3.amazonaws.com/iobio/samples/bam/Sample12.bam.
This is what we are looking at.
A chromosome selector,
The average coverage across the genome,
The read coverage distribution,
The fragment length distribution,
A host of other other useful statistics
Is there anything about this file that doesn't look as you might expect? For this bam file, the read coverage distribution appears to be Poisson distributed as expected, and has and average coverage of ~20X. This is always a good place to start to check that the file is expected.
Does the mapping rate seem to be as expected?
What could cause the value to be this low?
taxonomer.iobio
If so many reads do not appear to come from the human genome, where do they come from? We can use the metagenomics algorithm, Taxonomer, to identify what was present in this DNA sample, using
taxonomer.iobio. (Note that there is a commercial version of this tool available at
taxonomer.com.) This tool takes the raw fastq files as input and then, since a fastq file is unordered, is essentially sampling reads by reading through the file.
Open the taxonomer.iobio app using
this link, then choose "Enter URL for FASTQ/FASTA(s)" and finally copy and paste the following URL
https://s3.amazonaws.com/iobio/samples/fastq/unmapped_fragment.fastq. When the pie chart appears, click on "Bacteria" - the orange portion of the pie chart.
What can we conclude about this sample?
multibam.iobio
If you have thousands of BAM files and want to compare them all, bam.iobio is not the most convenient tool. Alternatively, maybe you have one or two samples, but you want to know how they compare to the state of the art in sequencing. One of the projects we are currently funded to work on is multibam.iobio. This allows us to compare and interrogate lots of samples together and try and identify samples that appear to be outliers.
vcf.iobio
Now we have determined the origin of this DNA sample (a spit sample, rather than a blood draw), we can look at statistics associated with the variants in the vcf file. To do this, we can use the
vcf.iobio tool. Open this link and paste in the following URL:
https://s3.amazonaws.com/iobio/samples/vcf/Sample12_combined_filtered_normalized.vcf.gz
We can now see statistics for the sample under study.
gene.iobio
gene.iobio is an app designed to allow you to investigate variants in a disease affected child, primarily when we also have genetic data for the parents (and maybe siblings). In this section of the tutorial, we will step through some of the functionality that gene.iobio offers.
To begin open the application
here. We have preselected a demonstration dataset for use in this tutorial.
Tutorials and interesting articles can be found in the iobio
blogs and they are being constantly updated. You can always refer to these or get to the tutorials directly from gene.iobio.
In this example, we are looking at the RAI1 gene, showing variants in a proband and her parents (how can I use gene.iobio to determine that the proband is female?) We can now work through the genes, MYLK2, PDGFB, PDHA1, and AIRE to demonstrate other features of gene.iobio.
ClinVar
The blog post on
ClinVar shows how we can use
gene.iobio to look at ClinVar variants.
Using Rufus with gene.iobio
Rufus is a reference-free algorithm that compares samples to identify sequence reads in each individual that contain unique sequence. When used to compare a child's reads with the combined reads of the parents, this method identifies de novo mutations in the child. The VCF generated by this method thus contains a very small number of variants (~100) for the child. Of these, only a subset will hit gene regions. Below is a clinical example, showing a structural variant (duplication) in the proband.


Rotorua Marathon
Rotorua NZL
Web Site: www.rotoruamarathon.co.nz
Race Winners
(54 runnings)
2:46:23 2:48:28 2:50:17 2:55:49 2:43:41 28 Apr
2007
2:23:44
2:50:07
29 Apr
2006
2:25:32
2:53:35
07 May
2005
2:22:38
3:00:52
01 May
2004
2:23:40
2:43:15
03 May
2003
2:30:09
2:55:40
27 Apr
2002
2:25:59
3:00:18
28 Apr
2001
2:20:50
2:49:14
29 Apr
2000
2:23:08
2:45:47
01 May
1999
---
---
02 May
1998
2:23:02
2:43:38
03 May
1997
2:20:37
2:52:43
04 May
1996
2:21:47
2:40:48
29 Apr
1995
2:23:19
2:47:44
30 Apr
1994
2:19:12
2:37:37
01 May
1993
2:21:30
2:39:48
02 May
1992
2:20:13
2:39:59
04 May
1991
2:21:34
2:49:28
28 Apr
1990
2:22:25
2:40:52
29 Apr
1989
2:18:21
2:46:02
30 Apr
1988
2:16:05
2:39:20
02 May
1987
2:18:43
2:49:57
03 May
1986
2:17:39
2:46:58
20 Apr
1985
2:22:16
2:48:00
05 May 1984
2:19:48
2:45:35
30 Apr
1983
2:20:59
2:47:27
24 Apr
1982
2:22:37
3:00:03
02 May 1981
2:17:28
2:56:04
26 Apr
1980
2:21:42
2:58:29
21 Apr
1979
2:23:30
2:50:04
22 Apr
1978
2:22:11
3:20:11
30 Apr
1977
2:22:44
3:20:07
24 Apr
1976
2:21:21
2:48:46
26 Apr
1975
2:18:32
3:36:29
20 Apr
1974
2:20:45
3:39:44
28 Apr
1973
2:18:09
22 Apr
1972
2:17:51
24 Apr
1971
2:26:40
18 Apr
1970
2:22:21
26 Apr
1969
2:20:40
20 Apr
1968
2:25:40
22 Apr
1967
2:25:22
23 Apr
1966
2:25:25
10 Apr
1965
2:35:04
04 May
2019
2:25:38
Ciaran Faherty (NZL)
2:51:17
Alice Mason-2
05 May
2018
2:29:00
Blair McWhirter (NZL)
2:46:44
Alice Mason (NZL)
06 May
2017
2:21:58
Saeki Makino (JPN)
2:54:14
Yuki Ogawa (JPN)
30 Apr
2016
2:27:39
Nick Horspool (NZL) (nc)
2:55:25
Liza Hunter-Galvan-2 (nc)
02 May
2015
2:29:03
Sam Dobson (NZL)
2:53:22
Naoko Tsuchiya (JPN)
03 May
2014
2:27:45
Masataka Uchino (JPN) (nc)
2:45:58
Sally Gibbs (NZL) (nc)
04 May
2013
2:22:23
Samuel Wreford (NZL)
2:57:25
Erin Furness (NZL)
28 Apr
2012
2:28:26
Philip Costley-3
Liza Hunter-Galvan (NZL)
30 Apr
2011
2:23:01
Dale
Warrander-5 (nc)
Johanna Ottosson-2 (nc)
01 May
2010
2:26:54
Dale
Warrander-4
Johanna Ottosson (NZL)
02 May
2009
2:27:14
Scott Winton-2
Lara Phillips (NZL)
03 May
2008
2:27:43
Joe Piggin (NZL) (nc)
Hanny Allston (AUS) (nc)
Craig Kirkwood (NZL)
Rina Hill (NZL)
Scott Winton (NZL)
Melanie Burke (NZL)
Dale Warrander-3
Mikki Williden (NZL)
Dale Warrander-2
Tracey Clissold (NZL)
Todd Stevens (NZL)
Maree Turner (NZL)
Katsumi Tsuchiya (JPN) (nc)
Eveline Coombe (NZL) (nc)
Jonathan Wyatt (NZL)
Marion Millward-2
Philip Costley-2
Meagan Edhouse (NZL)
not held
not held
Mark Hutchinson-3
Bernardine Portenski-3
Phil Costley (NZL)
Marion Millward (NZL)
Dale Warrander (NZL)
Nyla Carroll-3
Mark Hutchinson-2
Nyla Carroll-2
Paul Smith (NZL) (nc)
Nyla Carroll (NZL) (nc)
David Rush (NZL)
Maree Bunce (NZL)
Mark Hutchinson (NZL)
Jillian Costley-4
Graham Macky (NZL)
Wendy Stewart (NZL)
Tom Birnie (NZL)
Jillian Costley-3
Paul Ballinger-3 (nc)
Bernardine Portenski-2 (nc)
Paul Ballinger-2 (nc)
Jillian Costley-2 (nc)
John Campbell (NZL)
Bernardine Portenski (NZL)
Derek Froude (NZL)
Jillian Costley (NZL)
Don Greig (NZL)
Heather Matthews (NZL)
Trevor Wright (NZL)
Ngaire Drake (NZL)
Christopher Pilone (NZL)
Jacqueline Gilbert (NZL)
Peter Lee (NZL)
Sharon Ormsby (NZL)
Paul Ballinger (NZL) (nc)
Christine Munro-2 (nc)
Gerald Dravitzki (NZL)
Judith Hine (NZL)
Steven Denholm (NZL)
Beverley Shingles-2
Melville Radcliffe (NZL)
Christine Munro (NZL)
Graham Struthers (NZL)
Liduina Melchers-2
Bernard Vine (AUS)
Beverley Shingles (NZL)
Jack Foster-4
Liduina Melchers (NZL)
Kevin Ryan (NZL)
Val Darroch (NZL)
Jack Foster-3
Jack Foster-2
Michael Ryan (NZL)
Jack Foster (NZL)
William Allison (NZL)
John Robinson-2
Lindsay McKendrick (NZL)
John Robinson (NZL)
Dave Heine (NZL)
Notes: The 1999 race was cancelled due to extreme flood conditions. Thru 1999 this
race was known as the Fletcher Challenge Marathon. The 2000-01 races were known as the Bartercard Rotorua Marathon.
The 2002 thru 2004 races were known as the Fletcher Challenge Forests Marathon. From 2005 this event has been known as the Lion Foundation Rotorua Marathon.
(nc) =>
national championship
2014 Phil Costley was the New Zealand champion (2nd place, 2:29:46)
2008 Nyla Carroll was the New Zealand champion (2nd place, 2:47:15)
1999
Mark Bright was the New Zealand champion (2nd place, 2:29:24)
1999
Bernardine Portenski was the New Zealand champion (2nd place, 3:01:36 )
Most Wins (1965-date)
Men
5
Dale Warrander (NZL)
1996,2004-05.2010-11
Women 4
Jillian Costley (NZL)
1986,1988,1990,1992
Prize Money (ADR qualified runners)
Year Men Women Total 2017 $4,150 $4,150 $8,300 2016 4,190 4,190 8,380 2015 3,770 4,525 8,295 2014 5,200 5,200 10,400 2013 5,120 4,265 9,385 2012 4,930 4,930 9,860 2011 4,860 4,050 8,910 2010 5,090 5,090 10,180 2009 3,440 3,440 6,880 2008 7,065 7,065 14,130 2007 5,195 5,195 10,390 .... 2001 4,075 4,150 8,225 2000 2,420 2,905 5,325 1998 5,580 6,140 11,720 1997 7,820 7,480 15,300 1996 7,865 6,840 14,705 Sums $80,770 $79,615 $160,385
Race Time Bias
Insufficient data to calculate any race time biases.
Competitive Level
Insufficient data to calculate any competitive levels.
Quality Performances
Men <2:17 1 <2:18 5 <2:19 9 <2:20 15 Women <2:38 1 <2:40 5 <2:42 7 <2:44 12 <2:46 17 <2:48 29 <2:50 43
Last Updated on 08 May 2019 mp
Contributors: Malcolm Heyworth, David Hamilton, P N Heidenstrom, Martin Rix, Dennis Kenny, Klaas Loonstra (30)


UNKNOWN SERVER ERROR
UNKNOWN SERVER ERROR
Copyright © 1999-2009, all rights reserved.
-
Terms & Conditions
RED Digital Cinema, RED ONE, MYSTERIUM, REDCODE, REDspace, RED EPIC, SCARLET 3K, MONSTRO, REDFLASH, RED-RAM, RED-RAID, RED-DRIVE, RED-CAGE, RED-RAIL, REDCINE, RED QUICK, RED Alert! and RED-GUN are trademarks of the RED Digital Cinema Camera Company.


Final Year Project/Internship is a subject that must be completed by final year student as a requirement to receive a Bachelor of Science (BSc) degree in Computer Science and Engineering.
In this subject the student will be given one semester to work on a task that is related to their field of interest.
Students are expected to do their work independently most of the time. But their progress will be monitored closely by their supervisors.
At the end of the project/internship, students should document their work in a thesis which must be hard bounded and submitted to the department.
Students are also required to submit a soft copy of their thesis to the department.


Youtube to MP3 Downloader
Enter link of the youtube video here and press enter
Paste the full link of the video that you copy from the browser address bar.


interface NoteObserver
Standard observer interface for Notes
onNotesChanged |
Called on notes update abstract fun onNotesChanged(mNotes: Array<Note>?): Unit |
MainActivity |
MainActivity. Shows previews for already saved notes class MainActivity : AppCompatActivity, NoteObserver |


dc2rpy
Grammar
rpy = dc2rpy( dc )
Global variables
---
Explanation
Function which calculates 3-2-1 Euler angles from a direction cosine matrix.


Welcome to Pizza Nizza
The best pizza in town
Order
×
Pizza Order
Select a size:
Small
Medium
Large
Select your toppings:
Roasted Garlic
Olives
Pineapples
Artichokes
Spinach
Carmelized Onions
Amount:
Enter!
Your order comes to $
. It should arrive in 30 minutes. Thank you for choosing Pizza Nizza.


You can let these options to be blank if you don't want to set these values.
- Github token: Required to read private repositories
- Github Enterprise domain: Required to use on GitHub Enterprise.
- Github Enterprise token: Required to use on GitHub Enterprise.
aaa