Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add concepts for (modelling) uncertainties #1829

Open
5 tasks
stap-m opened this issue Mar 21, 2024 · 28 comments
Open
5 tasks

add concepts for (modelling) uncertainties #1829

stap-m opened this issue Mar 21, 2024 · 28 comments
Assignees
Labels
[A] new term Including new term(s) in the ontology SLE content related to the project SLE To do Issues that haven't got discussed yet

Comments

@stap-m
Copy link
Contributor

stap-m commented Mar 21, 2024

Description of the issue

This is a requirement of SLE project.
The uncertainty matrix by Kwakkel, Walker and Marchau is used.

grafik

Ideas of solution

If you already have ideas for the solution describe them here

Workflow checklist

  • I discussed the issue with someone else than me before working on a solution
  • I already read the latest version of the workflow for this repository
  • The goal of this ontology is clear to me

I am aware that

  • every entry in the ontology should have a definition
  • classes should arise from concepts rather than from words
@stap-m stap-m added [A] new term Including new term(s) in the ontology To do Issues that haven't got discussed yet SLE content related to the project SLE labels Mar 21, 2024
@stap-m stap-m added this to the oeo-release-2.5.0 milestone Apr 23, 2024
@stap-m
Copy link
Contributor Author

stap-m commented Aug 8, 2024

grafik

I made a frist draft for an ontological representation of the uncertainty matrix above.

@github-project-automation github-project-automation bot moved this to To do in Issues Aug 29, 2024
@stap-m stap-m self-assigned this Sep 11, 2024
@stap-m
Copy link
Contributor Author

stap-m commented Sep 11, 2024

Any comments on my proposal?
If there are no objections against the concepualisation in general, I'd start concretizing definitions etc.

@LillyG901
Copy link
Contributor

LillyG901 commented Oct 16, 2024

I propose the following definitions for the new classes(and istances) given in the draft:

Uncertainty - Uncertainty is a qualtity of a model that represents any departure from the unachievable ideal of complete determinism.

Nature of uncertainty - Nature of uncertainty is a quality of a model that represents the core reason for uncertainty within it.

-- Ambiguity : Ambiguity is a nature of uncertainty that stems from multiple frames of reference about a phenomenon existing similtaneously.

-- Epistemology : Epistemology is a nature of uncertainty that stems from a lack of knowledge about a certain phenomenon.

-- Ontology: Ontology is a nature of uncertainty that stems from inherent variability of a phenomenon.

Level of uncertainty - Level of uncertainty is a quality of a model that represents the severity of an uncertainty.

-- Shallow uncertainty : Shallow uncertainty is a level of uncertainty at which one can enumerate multiple alternatives and provide probabilites(subjective or objective) for them.

-- Medium uncertainty : Medium uncertainty is a level of uncertainty at which one can enumerate multiple alternatives and rank them in order of perceived likelihood, without being able to discern how intensely the likelihood varies between two alternatives.

-- Deep uncertainty : Deep uncertainty is a level of uncertainty at which one can enumerate multiple alternatives, without being able to rank them in order of likelihood.

-- Recognised ignorance : Recognised ignorance is a level of uncertainty at which one isn't able to enumerate multiple alternatives, while admitting the possibility of being surprised.

Location of uncertainty - Location of uncertainty is a role of an oeo class that has the disposition to be the part of a system in which an uncertainty occurs.

These definitions are all based on the paper linked above.

I'm less sure on how to define the classes that are able to receive the 'location of uncertainty'-role.
I made these first drafts (also based on the paper) :

System boundary - A system boundary is a model component that separates aspects of the real world that are included in the model from those that are not.

Conceptual model - A conceptual model is a model that specifies variables and relationships within a system boundary.

Computer model - A computer model is a model that implements a conceptual model.

Input data - Input data is a model component that consists of parameters inside the model aswell as inputs to the model.

Model implementation - Model implementation is a model component that consists of the computer code used to represent the model.

Processed output data - Processed output data is a model component that consits of the data that exists after propagating through the model complex.

I'm happy to change any or all of these definitions if anyone has any feedback.

@stap-m
Copy link
Contributor Author

stap-m commented Oct 17, 2024

Thanks for the suggestions.

Uncertainty - Uncertainty is a qualtity of a model that represents any departure from the unachievable ideal of complete determinism.

Nature of uncertainty - Nature of uncertainty is a quality of a model that represents the core reason for uncertainty within it.

-- Ambiguity : Ambiguity is a nature of uncertainty that stems from multiple frames of reference about a phenomenon existing similtaneously.

-- Epistemology : Epistemology is a nature of uncertainty that stems from a lack of knowledge about a certain phenomenon.

-- Ontology: Ontology is a nature of uncertainty that stems from inherent variability of a phenomenon.

Ok, I like the definitions. I think we should label the subclasses above uncertainty of ambiguity or ambiguous uncertainty, etc. Maybe keep the current labels as alternative labels?

Level of uncertainty - Level of uncertainty is a quality of a model that represents the severity of an uncertainty.

-- Shallow uncertainty : Shallow uncertainty is a level of uncertainty at which one can enumerate multiple alternatives and provide probabilites(subjective or objective) for them.

-- Medium uncertainty : Medium uncertainty is a level of uncertainty at which one can enumerate multiple alternatives and rank them in order of perceived likelihood, without being able to discern how intensely the likelihood varies between two alternatives.

-- Deep uncertainty : Deep uncertainty is a level of uncertainty at which one can enumerate multiple alternatives, without being able to rank them in order of likelihood.

-- Recognised ignorance : Recognised ignorance is a level of uncertainty at which one isn't able to enumerate multiple alternatives, while admitting the possibility of being surprised.

Fine.

@stap-m
Copy link
Contributor Author

stap-m commented Oct 17, 2024

Location of uncertainty - Location of uncertainty is a role of an oeo class that has the disposition to be the part of a system in which an uncertainty occurs.

Call it location of uncertainty role?

I'm less sure on how to define the classes that are able to receive the 'location of uncertainty'-role. I made these first drafts (also based on the paper) :

System boundary - A system boundary is a model component that separates aspects of the real world that are included in the model from those that are not.

This one is a bit tricky. We already have system and there should be a relation. The model models the system and the system has a system boundary, something like that. Could you open a separate issue for that please?

Conceptual model - A conceptual model is a model that specifies variables and relationships within a system boundary.
Computer model - A computer model is a model that implements a conceptual model.
Input data - Input data is a model component that consists of parameters inside the model aswell as inputs to the model.
Model implementation - Model implementation is a model component that consists of the computer code used to represent the model.
Processed output data - Processed output data is a model component that consits of the data that exists after propagating through the model complex.

I think there are already some of these concepts part of OEO. Could you check that please?

@LillyG901
Copy link
Contributor

Alright, i will change the labels of the instances of nature of uncertainty to ambigous uncertainty, epistomological uncertainty and ontological uncertainty.
I'll also add role to location of uncertainty.

@stap-m
Copy link
Contributor Author

stap-m commented Oct 17, 2024

Alright, i will change the labels of the instances of nature of uncertainty to ambigous uncertainty, epistomological uncertainty and ontological uncertainty.

Let's keep the uncertainty of ambiguity etc as alternative labels.

@LillyG901
Copy link
Contributor

I also checked the oeo and did find input data and output data. I will delete my own versions.
I could not find any implementation of conceptual model or model implementation, but perhaps they exist under a different name/ with a different definition.
As for computer model: We do have numerical computer model, but I do not think that this is the same as the class that the paper describes.
It's defined as A numerical computer model is a mathematical model that is calculated by a computer.

@LillyG901
Copy link
Contributor

Should I also add new issues for the terms I could not find yet?

@LillyG901
Copy link
Contributor

If these terms are to be defined separately, we are mainly missing the relations between model and the aspects of uncertainty.
has quality is already pre-established. Should we use this relation as suggested in the graphic above or should we define more specific relations like has uncertainty nature for each aspect?
We could also do both if that would be beneficial in any way.

@stap-m
Copy link
Contributor Author

stap-m commented Oct 18, 2024

Could you please link the new issues here. With the PR, you don't have to wait for theses issues. We can integrate them later.

@stap-m
Copy link
Contributor Author

stap-m commented Oct 18, 2024

If these terms are to be defined separately, we are mainly missing the relations between model and the aspects of uncertainty.
has quality is already pre-established. Should we use this relation as suggested in the graphic above or should we define more specific relations like has uncertainty nature for each aspect?

I like the idea of a new relation (subproperty of has quality?!).

@stap-m
Copy link
Contributor Author

stap-m commented Oct 18, 2024

And with location of uncertainty, I thought about an entity with an equvalence axiom like 'has role' some 'location of uncertainty role'.

@LillyG901
Copy link
Contributor

The issues for the other terms are #1951, #1952, #1953 and #1954.

@LillyG901
Copy link
Contributor

I would define the relations as follows:

subclasses of has quality
has uncertainty nature - A relation between a model(x) and a nature of uncertainty(y) that indicates uncertainty within x is caused by y
has uncertainty level - A relation between a model(x) and a level of uncertainty(y) that indicates the severity of uncertainty within x being y

subclass of ObjectProperty?
has uncertainty location - A relation between a model(x) and a location of uncertainty(y) that indicates uncertainty within x is located in y

Should we also add a relation like has uncertainty(A relation between a model and an uncertainty that indicates the model departs from complete determinism)?

And I would suggest defining location of uncertainty as Location of uncertainty is an independent continuant that has the location of uncertainty role.
Perhaps it could be more specific than independent continuant, but I'm unsure, since the classes that should be able to have this role are not yet defined.

@LillyG901
Copy link
Contributor

When adding the relations, should I also define the inverse of each of them?

@LillyG901
Copy link
Contributor

Should uncertainty be related to location/nature/level somehow? It should currently be possible for a model to have an uncertainty level without having an uncertainty. If uncertainty was defined as an independent continuant instead, it would be possible for it itself to have qualities. This would also allow has uncertainty location to be a subclass of located in.
Then we could just add the has uncertainty relation between model and uncertainty.
Unfortunately it doesn't make a lot of sense for uncertainty to be an independant continuant. Maybe you have a better idea as to how to circumvent this issue or maybe it isn't an issue at all, but intended functionality I didn't fully understand.

@stap-m
Copy link
Contributor Author

stap-m commented Oct 22, 2024

Should we also add a relation like has uncertainty(A relation between a model and an uncertainty that indicates the model departs from complete determinism)?

Should uncertainty be related to location/nature/level somehow? It should currently be possible for a model to have an uncertainty level without having an uncertainty

I think it lies in the nature of models to depart from complete determinism.

I actually think, it is ok for a model to have an uncertainty level without having an uncertainty etc (asserted). Or let's say, if a model has an uncertaity level, it should follow that is has an uncertainty.
Could we express that the general concept of uncertainty comprises the three aspects level, nature and location? Something like a parthood relation, if that worked for qualities...?

@stap-m
Copy link
Contributor Author

stap-m commented Oct 22, 2024

A relation between a model(x) and a nature of uncertainty(y) that indicates uncertainty within x is caused by y has uncertainty level

"caused" is misleading here, its not a causal relation. What about ... within x is of kind y.?

  • A relation between a model(x) and a level of uncertainty(y) that indicates the severity of uncertainty within x being y

What about ... that indicates the severity of uncertainty (y) within x. ?

subclass of ObjectProperty? has uncertainty location - A relation between a model(x) and a location of uncertainty(y) that indicates uncertainty within x is located in y

Ok.

@madbkr
Copy link
Contributor

madbkr commented Oct 25, 2024

I don't think it should be possible for a model to have alevel of uncertaintybut no relation to uncertainty. I'd almost say that every model has to have an uncertainty? So maybe that could be an axiom for model?

Since the model is already related to the 3 axes of uncertainty I'm not sure if uncertainty needs to be related to them - but if so I would probably say it should be like it is done with energy and a quality should have another quality. Even though this is not how the BFO usually does it.

Or maybe there is a way use part of? I'd imagine it like having a quality like color and the color is composed of red, blue and green parts in different quantities? But maybe I am way off here.

@LillyG901
Copy link
Contributor

Alright I added the relations with the improved definitons

@LillyG901
Copy link
Contributor

I think we should link uncertainty and nature/level/location.
If we don't relate them in any way it would be pretty hard to distinguish between two different kinds of uncertainty. Because a model should be able to e.g. have deep uncertainty of ambiguity in the conceptual model and shallow uncertainty of ontology in the input data at the same time. If they are not related to one another in any way, there is no way to know which of the locations contains what kind of uncertainty at what severity.

uncertainty should be a quality of model (as it is within the first model you presented graphically), since an uncertainty within a model cannot exist without a model. It is dependant, which makes modeling it's own dependants difficult. I don't think BFO really has a way of modeling dependencies of dependencies.
But similarly to how there is no uncertainty of a model without model, there is no location of uncertainty without uncertainty. I'd say the relationship between these entities should be equivalent. Therefore I would suggest to model nature/level/location as qualities of a quality like energy.

If you agree with this proposal, we'd have to reconsider the definitions of the relations once again, as they'd now hold between uncertainty and nature/level/location instead of model and nature/level/location.

The new definitions could be as follows:
has uncertainty nature - A relation between an uncertainty(x) and a nature of uncertainty(y) that indicates x is of kind y.
has uncertainty level - A relation between an uncertainty and a level of uncertainty that indicates the severity of the uncertainty.
has uncertainty location - A relation between an uncertainty(x) and a location of uncertainty(y) that indicates x is located in y.

This has the side effect, that relation between model and nature/level/location becomes much more abstract. We could instead do something like:

has uncertainty nature - A relation between an uncertainty(x) of a model(y) and a nature of uncertainty(z) that indicates x within y is of kind z.
has uncertainty level - A relation between an uncertainty(x) of a model(y) and a level of uncertainty that indicates the severity of x within y.
has uncertainty location - A relation between an uncertainty(x) of a model(y) and a location of uncertainty(z) that indicates x within y is located in y.

But I'm not sure if this congruent with the rest of the oeo, since I could not find a similarly structured definition.

I also considered the parthood relation you suggested, but has part is defined as a core relation that holds between a whole and its part and I'm not sure I'd classify uncertainty as a whole?
Technically has part does not have a range/domain so it could be possible to use it on a quality, but it feels unintuitive to me.
Feel free to disagree with me on this point, because I'm not sure I can properly articulate why this relation seems unfitting to me.

@LillyG901
Copy link
Contributor

grafik

The model would look more like this, if we implemented my suggestions.
(I shortened the parts that didn't change such as the instances and the definition of location of uncertainty)

@madbkr
Copy link
Contributor

madbkr commented Oct 30, 2024

If we don't relate them in any way it would be pretty hard to distinguish between two different kinds of uncertainty. Because a model should be able to e.g. have deep uncertainty of ambiguity in the conceptual model and shallow uncertainty of ontology in the input data at the same time. If they are not related to one another in any way, there is no way to know which of the locations contains what kind of uncertainty at what severity.

I think this is a very good point.

To me a whole and its part is a very open definition that fits lots of things but I would also be fine with specific new relationships as in the graphic. It is very possible that I am looking at part of incorrectly.

I like your new graphic, even though quality of a quality is not as BFO intended. It was done before after all. And this feels like it captures the content pretty well.

@LillyG901
Copy link
Contributor

Alright I've implemented all changes as discussed.
It might be time to turn the related draft pull-request into a regular pull-request, if you don't have any further requests or comments on the proposed solution.

@LillyG901
Copy link
Contributor

After further discussion with @stap-m and @ColinHDev we came to the decision, that we can use e.g. nature of uncertainty as a quality of a quality, as long as we don't use the relation has quality.
This was based on the book "Building ontologies with basic formal ontology"(2015) by Robert Arp, Barry Smith, and Andrew D. Spear:

Qualities may depend also on entities of other types; thus, for example, the quality of your heart, of beating with a certain rate, is dependent not only on your heart, but also on the beating process in which the heart participates.

We also further deliberated on whether or not to make uncertainty a generically dependant continuant, but decided against it for now. This was based on the decision detailed above, since this change would mainly have solved our issue of not wanting a quality to depend on another quality

@LillyG901
Copy link
Contributor

We also discussed how to procede with this issue.
To add in all terms that were suggested at the beginning of this issue we should do the following in this order:

  1. merge the first PR relating to this issue (add concepts for (modelling) uncertainties #1945)
  2. come to a conclusion about the terms that were discussed in separate issues (Add model system boundary #1951, Add conceptual model #1952, Add computer model and model implementation #1953)
  3. add/don't add them to the oeo
  4. add another PR for this issue to add uncertainty location
  5. add a new issue to define neccessary axioms

@stap-m
Copy link
Contributor Author

stap-m commented Nov 11, 2024

After further discussion with @stap-m and @ColinHDev we came to the decision, that we can use e.g. nature of uncertainty as a quality of a quality, as long as we don't use the relation has quality.

"quality of quality" is confusing wording. Qualities should not have other qualities as qualities, but nevertheless, there may exist other relations between two qualities, than "has quality".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[A] new term Including new term(s) in the ontology SLE content related to the project SLE To do Issues that haven't got discussed yet
Projects
Status: To do
Development

No branches or pull requests

4 participants