Difference between revisions of "Provenance"

(Created page with "{{Template:Working on}} <span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">Provenance , also referred to somethimes as lineage, is the docum...")
 
Line 1: Line 1:
{{Template:Working on}} <span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">Provenance , also referred to somethimes as lineage, is the documentation of a dataset origin. It includes how the data was collected or generated, which methodologies, instruments and/or&nbsp;software were used for it's creation.</span></span> <span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">You could think of it as the data workflow from the start of a project to hte point a dataset is published and so you have the project&nbsp;final product. Provenance is complicated as usually data gets through a lot of steps an re-iterations. Given the nature of research itself, the objectives and methods or your analysis might changed various time, you might keep some of the steps and change others.</span></span> <span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">Which is why having a good provenance is so important for the reproducibility and to be able to share your data.</span></span> <span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">There are&nbsp;tools available to help recording some of steps automatically, but ultimately non of them will produce a good provenance record without regular manual intervention. It is not enough to track the changes you also need to know why they happened.</span></span> &nbsp; <span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">Important things to keep track of</span></span>
 
*<span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">what data&nbsp;you used as input, if any, it helps if the dataset has been published and has a doi you can refer to,&nbsp;or it is at least well documented and properly versioned. While there are situations were you do not have choice, when you do a well documented dataset is a safer option for your analysis.</span></span>
 
*<span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">use a version control system for your analysis code, again as for data if you are using someone else code make sure is properly documented and versioned.(link) Use all the options given you but a version control system, for example github has readme files, issues, project plans and commit messages, they all help you not only tracking the chnages but why they happened.</span></span>
 
*
 
<span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">use good coding practices and metadata conventions for your dataset, not only that is necessary when you will ventually want to share the data or code, but it will make it easier for you to remember what the data is and what the code is doing</span></span>
 
  
*
+
{{Template:Working on}}
<span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">review often, before you can forget, you could make it an habit at the end of a working day to make sure your previous notes, metadata etc are all sitll relevant.</span></span>
 
  
 +
<span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">Provenance, also referred to sometimes as lineage, is the documentation of a dataset origin. It includes how the data was collected or generated, which methodologies, instruments and/or&nbsp;software were used for its creation.</span></span> <span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">You could think of it as the data workflow from the start of a project to the point a dataset is published and you have the project&nbsp;final product. Provenance is complicated as usually data gets through a lot of steps and re-iterations. Given the nature of research itself, the objectives and methods or your analysis might change&nbsp;various time, you might keep some of the steps and modify&nbsp;others.</span></span> <span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">Which is why having a good provenance is so important for the reproducibility of your research.</span></span> <span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">There are&nbsp;tools available to help recording some of steps automatically, but ultimately none of them will produce a good provenance record without regular manual intervention. It is not enough to track the changes you also need to know why they happened.</span></span> &nbsp;
  
<span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">In conclusion provenance is a progressive account of your research, part of the provenance will be directly attached to the data or the code you used, but it is good to have one document that collect all the other sources. A data management plan is a good template for such a document, if you create one at the start of your project and update it regularly you will have your work done when you want to publish the data, when you need to describe your research&nbsp;in a paper, or even before leaving an institution at the end of your PhD or postdoc. &nbsp;</span></span>
+
<span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">Important things to keep track of are:</span></span>
 +
 
 +
*<span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">what data&nbsp;you used as input, if any, it helps if the dataset has been published and has a DOI&nbsp;you can refer to,&nbsp;or it is at least well documented and properly versioned. While there are situations where you do not have choice, when you do a well-documented dataset is a safer option for your analysis.</span></span>
 +
*<span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">use a version control system for your analysis code, again as for data, if you are using someone else code make sure is properly documented and versioned.(link) Use all the options given you but a version control system, for example Github has readme files, issues, project plans and commit messages, they all help you not only tracking the changes but why they happened.</span></span>
 +
*<span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">use good coding practices and metadata conventions for your dataset, not only that is necessary when you will eventually want to share the data or code, but it will make it easier for you to remember what the data is and what the code is doing</span></span>
 +
*<span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">review often, before you can forget, you could make it a&nbsp;habit at the end of a working day to make sure your previous notes, metadata etc are all still relevant. It will only take a few minutes.</span></span>
 +
 
 +
<span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">In conclusion provenance is a progressive account of your research, part of the provenance will be directly attached to the data or the code you used, but it is good to have one document that collect all the other sources. A data management plan is a good template for such a document, if you create one at the start of your project and update it regularly you will have your work done when you want to publish the data, when you need to describe your research&nbsp;in a paper, or even before leaving an institution at the end of your PhD or postdoc.</span></span>
 +
 
 +
<span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">The ARDC has a lot of resources online for [https://ardc.edu.au/resources/working-with-data/data-provenance/ data provenance].</span></span>

Revision as of 23:41, 20 June 2021

Template:Working on New page under construction

Provenance, also referred to sometimes as lineage, is the documentation of a dataset origin. It includes how the data was collected or generated, which methodologies, instruments and/or software were used for its creation. You could think of it as the data workflow from the start of a project to the point a dataset is published and you have the project final product. Provenance is complicated as usually data gets through a lot of steps and re-iterations. Given the nature of research itself, the objectives and methods or your analysis might change various time, you might keep some of the steps and modify others. Which is why having a good provenance is so important for the reproducibility of your research. There are tools available to help recording some of steps automatically, but ultimately none of them will produce a good provenance record without regular manual intervention. It is not enough to track the changes you also need to know why they happened.  

Important things to keep track of are:

  • what data you used as input, if any, it helps if the dataset has been published and has a DOI you can refer to, or it is at least well documented and properly versioned. While there are situations where you do not have choice, when you do a well-documented dataset is a safer option for your analysis.
  • use a version control system for your analysis code, again as for data, if you are using someone else code make sure is properly documented and versioned.(link) Use all the options given you but a version control system, for example Github has readme files, issues, project plans and commit messages, they all help you not only tracking the changes but why they happened.
  • use good coding practices and metadata conventions for your dataset, not only that is necessary when you will eventually want to share the data or code, but it will make it easier for you to remember what the data is and what the code is doing
  • review often, before you can forget, you could make it a habit at the end of a working day to make sure your previous notes, metadata etc are all still relevant. It will only take a few minutes.

In conclusion provenance is a progressive account of your research, part of the provenance will be directly attached to the data or the code you used, but it is good to have one document that collect all the other sources. A data management plan is a good template for such a document, if you create one at the start of your project and update it regularly you will have your work done when you want to publish the data, when you need to describe your research in a paper, or even before leaving an institution at the end of your PhD or postdoc.

The ARDC has a lot of resources online for data provenance.